2010-01-22 131 views
1

我正在调试外包公司编写的一些PHP代码(我根本不是PHP人,只知道基础知识;我们有一个离岸团队的PHP开发人员在这个项目上为我们工作),这不起作用;该代码应该每30分钟由一个cron作业调用,但不会触发。我试图通过命令行运行PHP脚本来测试,如果它的工作,但它给我下面的(匿名)errror:PHP“require_once”表示无法在目录中找到文件

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基础知识之外,我什么也不知道,而且我真的需要启动并运行此服务。

编辑:的代码在/_lib/_classes

回答

3

如果您用斜杠启动文件名,则表示它是绝对路径。请尝试改为:

require_once('/var/www/html/myapp/_lib/_classes/MySql.php'); 
0

区分大小写也许使用__autoload()函数的所有类?我以前遇到过这个问题。

0

我猜这是一个权限问题 - 确保您的帐户(用于测试目的)和任何帐户cron将运行您的脚本下(很可能是你的,但也许是一个不同的)有阅读权限文件。

另请参见:include的路径为/myapp/_lib/_classes/MySql.php,而它存在于/var/www/html/myapp/_lib/_classes/MySql.php中。你可以改变包含引用完整路径吗?

0

如上所述,此外还需要正确的权限来访问该文件。

+0

然而,外壳是正确的,并且在文件上授予了完整的权限。我刚刚发现代码使用__autoload函数来动态加载代码。 – 2010-01-22 16:27:26

相关问题