我正在调试一些由外包公司编写的PHP代码(我根本不是一个PHP人员但知道基础知识;我们有一个PHP开发人员离岸团队在这个项目上为我们工作)但是没有用;该代码应该由cron作业每30分钟调用一次,但它不会被触发。我尝试通过命令行运行PHP脚本来测试它是否正常工作,但它给了我以下(匿名)错误:
PHP Fatal error: require_once(): Failed opening required '/myapp/_lib/_classes/MySql.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/myapp/_lib/_base/common.inc.php on line 6
但是,文件/var/www/html/myapp/_lib/_classes/MySql.php
存在于正确的目录下。我错过了一些简单的东西,我敢肯定,但就像我说我知道除了PHP的基本知识之外什么都没有,我真的需要启动并运行这个服务。
编辑:代码使用的__autoload()
函数包含/_lib/_classes
答案 0 :(得分:3)
如果您使用斜杠启动文件名,则表示它是绝对路径。试着改为:
require_once('/var/www/html/myapp/_lib/_classes/MySql.php');
答案 1 :(得分:0)
区分大小写可能吗?我之前遇到过这个问题。
答案 2 :(得分:0)
我猜这是一个权限问题 - 请确保您的帐户(用于测试目的)和任何帐户cron将运行您的脚本(很可能是您的,但可能是另一个)对文件具有读取权限
此外:包含的路径显示为/myapp/_lib/_classes/MySql.php
,而它存在于/var/www/html/myapp/_lib/_classes/MySql.php
中。你能改变包含引用完整路径吗?
答案 3 :(得分:0)
如上所述,套管以及另外需要访问该文件的正确权限。