我浏览了其他几个问题,并尝试了与错误报告相关的各种解决方案,包括
ini_set('display_errors',true);
error_reporting(E_ALL);
但我仍然卡在死亡的白屏上。当我使用自己的面向对象类时,这似乎只发生在页面上。但是,OOP 脚本成功执行,但我无法显示 HTML。有时,我可以让它捕获异常,但它是间歇性的。
例如,我有一个这种方法:
public function getSubdomain() {
$this->data->query('SELECT * FROM users WHERE email=:email');
$this->data->bind(':email', $this->email);
$this->data->execute();
if($this->data->rowCount() == 0)
throw new Exception('There is no account associated with this e-mail address.');
$curr = $this->data->single();
return $curr['subdomain'];
}
^^ 那将执行得很好,我可以使用它从 OOP 类中打印它die($curr['subdomain']);
,但是如果我尝试使用 PHP 在页面上显示它,什么也没有。没有错误,所以日志,没有源代码,绝对没有。
我在 Apache 中使用 MultiViews,我的 DB 查询是使用自定义 PDO 类完成的。
我跑了
# php -l new.php
直接在服务器上并报告
No syntax errors detected in new.php
当我在本地的 WAMP 上运行完全相同的设置时,它可以毫无问题地工作,但是一旦我迁移到我的 CentOS/Apache/PHP 机器上,一切就乱套了。MySQL 在单独的服务器上,但没有问题。
我可以根据需要提供更具体的代码(我自己的和来自服务器的 conf 文件),我只是想避免由于问题的性质而出现任何随意性。关于从这里去哪里的任何建议(即,不同的错误报告方法等)?