所以,我的问题如下。当我通过Web浏览器加载页面时,此代码工作正常。但是当我从命令行运行脚本时:“php script.php”它就会爆炸。
script.php是:
<?php
include_once('class.WebsiteScraper.php');
$ws = new WebsiteScraper();
$ws->test();
...
?>
class.WebsiteScraper.php是:
<?php
echo 'test';
class WebsiteScraper {
public function test() {
echo 'test2';
}
}
?>
这将返回错误:
PHP致命错误:调用未定义 方法WebsiteScraper :: test() 在 ... 第4行
只有通过命令行调用才会发生这种情况。 另外需要注意的是,当我追加
时error_log('hey there');
对于script.php,它会将错误抛出到标准输出,而不是在我的错误日志中。但是当从Web浏览器调用它时,它会将其放入错误日志中。有什么想法吗?
答案 0 :(得分:1)
使用command line option --ini
检查命令行是否加载与apache相同的配置文件:
php --ini
您也可以致电phpinfo()
。
似乎您的文件未被包含 - 可能是由于包含路径。
编辑:
尝试添加
error_reporting(E_ALL);