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
如果是这样,我会考虑将 cd
和 php
调用移动到一个脚本文件中,然后从您的 crontab 调用它 - 但那可能只是我 :p
当你通过shell / crontab 执行脚本时,调用所需文件的最佳方式是在require() 或require_once() 语句中给出绝对路径。
require('/var/www/mosto.in/app/src/app.class.php');
希望这对你有用。
我只是想通过 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
如果是这样,我会考虑将 cd
和 php
调用移动到一个脚本文件中,然后从您的 crontab 调用它 - 但那可能只是我 :p
当你通过shell / crontab 执行脚本时,调用所需文件的最佳方式是在require() 或require_once() 语句中给出绝对路径。
require('/var/www/mosto.in/app/src/app.class.php');
希望这对你有用。