我正在運行到一個空白頁面,雖然我告訴PHP報告所有錯誤,但我仍然沒有得到任何信息,導致我相信它必須是語法錯誤。我找不到它是什麼。PHP:空白頁面,錯誤報告不起作用
這裏是腳本我的工作:
test.php的
<?php
ini_set('display_errors', '1');
require('database.php');
print("hello");
$config = new Config("lessons.db","data/");
$db = new Database($config, array('first', 'second', 'third', 'fourth'), true);
print_r($db->dumpToArray());
?>
database.php中
<?php
class Config {
private
$_db
$_file,
$_directory,
$_delimiter,
$_columns;
public function __construct(string $file, string $directory = null, string $delimiter = "|") {
$_db = $directory.$file;
$_directory = $directory;
$_delimiter = $delimiter;
}
public function db() {
return $_db;
}
public function delimiter() {
return $_delimiter;
}
}
class Database {
private
$_config,
$_columns,
$_rows,
$_pointer;
public function __construct(Config $config, array $constants = null, boolean $caseInsensitive = false) {
$_config = $config;
is_readable ($_config->db())
or exit ("The database cannot be read");
if(!is_null($constants))
$this->defineColumns($constants, $caseInsensitive);
return;
}
private function connect(string $method) {
if (!($_pointer = @fopen($_config->db(), $method)) or printf("Unable to connect to database");
}
private function disconnect() {
fclose($_pointer);
}
private function defineColumns($constants, $caseInsensitive) {
for (var $i=0;$i<count($constants);$i++)
define($constants[i], $i, $caseInsensitive);
}
public function dumpToArray() {
$arrayDump = explode($_config->delimiter(), file($_config->db(), FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
return $arrayDump;
}
public function getRowByValue($column, $value) {
$this->connect('r');
$rowNumber = 0;
while (!feof($_Pointer)) {
$row = explode($_config->delimiter(), fgets($dbPointer, 1024));
if ($row[$column] == $value) {
$this->disconnect();
return $row;
}
$rowNumber++;
}
$this->disconnect();
return false;
}
}
?>
任何人都可以看到什麼引起的呢?
看看Apache日誌... – Flukey
我想'php -l'只是爲了確保它不是第一個語法問題。 –
hafichuk
@Flukey無法訪問他們,我在一個奇怪的公司成立。 –