cronjob 执行 php 错误
cronjob execution php error
我正在尝试从 php 创建 cronjob,我将其添加到 crotanb:
sudo crontab -u www-data -l:
*/1 * * * * /usr/bin/php /var/www/html/service_script/cronTest.php
cronTest.php
<?php
echo 'it works';
include_once('../core/external_init.php');
这是输出:
it works
PHP Warning: include_once(../core/external_init.php): failed to open stream: No such file or directory in /var/www/html/service_script/cronTest.php on line 3
PHP Warning: include_once(): Failed opening '../core/external_init.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/service_script/cronTest.php on line 3
PHP Fatal error: Uncaught Error: Class 'pluginClassManagement' not found in /var/www/html/service_script/cronTest.php:6
Stack trace:
#0 {main}
thrown in /var/www/html/service_script/cronTest.php on line 6
当我从浏览器 运行 时,这个 cronTest.php 有效。
如果我将 /usr/bin/php 更改为 /usr/lib/php,则会出现此错误:
/bin/sh: 1: /usr/lib/php: Permission denied
我真的不知道这里应该是什么路径。
我有 php7,我尝试了各种方法来使它正常工作,设置权限,使脚本可执行等,但现在我坚持这样做,不知道该怎么做
尝试使用绝对包含路径(如 /var/www/path/to/core/external_init.php)。我很确定,当 运行 作为 cron.
时,它使用了错误的工作目录
我正在尝试从 php 创建 cronjob,我将其添加到 crotanb:
sudo crontab -u www-data -l:
*/1 * * * * /usr/bin/php /var/www/html/service_script/cronTest.php
cronTest.php
<?php
echo 'it works';
include_once('../core/external_init.php');
这是输出:
it works
PHP Warning: include_once(../core/external_init.php): failed to open stream: No such file or directory in /var/www/html/service_script/cronTest.php on line 3
PHP Warning: include_once(): Failed opening '../core/external_init.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/service_script/cronTest.php on line 3
PHP Fatal error: Uncaught Error: Class 'pluginClassManagement' not found in /var/www/html/service_script/cronTest.php:6
Stack trace:
#0 {main}
thrown in /var/www/html/service_script/cronTest.php on line 6
当我从浏览器 运行 时,这个 cronTest.php 有效。 如果我将 /usr/bin/php 更改为 /usr/lib/php,则会出现此错误:
/bin/sh: 1: /usr/lib/php: Permission denied
我真的不知道这里应该是什么路径。
我有 php7,我尝试了各种方法来使它正常工作,设置权限,使脚本可执行等,但现在我坚持这样做,不知道该怎么做
尝试使用绝对包含路径(如 /var/www/path/to/core/external_init.php)。我很确定,当 运行 作为 cron.
时,它使用了错误的工作目录