PHP Fatal error: require_once(): Failed opening required

PHP Fatal error: require_once(): Failed opening required

我只是想通过 cron 作业创建一个文件 运行,但是我收到以下错误日志。

PHP Warning: require(../app/src/app.class.php): failed to open stream: No such file or directory in /var/www/mosto.in/manual/gateway.php on line 4 PHP Fatal error: require(): Failed opening required '../app/src/app.class.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/mydomain.in/manual/gateway.php on line 4

我的gateway.php文件

set_time_limit(0); require('../app/src/app.class.php');

如果我 运行使用以下路径在我的 ssh 服务器上安装同一个文件,我会感到困惑,该文件不会产生任何错误并且工作正常。

*cd /var/www/mosto.in/manual/ *php gateway.php

Crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

* * * * * /usr/bin/php /var/www/mosto.in/manual/gateway.php > /var/log/gateway.log 2>&1

请帮助我。

提前致谢。

您的问题很可能是 cron 守护进程的工作目录与您手动执行时的工作目录不同。看看这是否有效:

* * * * * cd /var/www/mosto.in/manual/ && /usr/bin/php gateway.php > /var/log/gateway.log 2>&1

如果是这样,我会考虑将 cdphp 调用移动到一个脚本文件中,然后从您的 crontab 调用它 - 但那可能只是我 :p

当你通过shell / crontab 执行脚本时,调用所需文件的最佳方式是在require() 或require_once() 语句中给出绝对路径。

require('/var/www/mosto.in/app/src/app.class.php');

希望这对你有用。