php - cronjob执行php错误

标签 php ubuntu cron crontab

我试图从 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执行php错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39127361/

相关文章:

php - 将 Laravel Horizo​​n 作为后台服务运行

mysql - Ubuntu 中的 MySQL JDBC jar 文件在哪里?

javascript - 如何在 Node JS 应用程序中实现 cron 作业(使用 node-schedule)

c# - Quartz.Net 每日间隔时间表

linux cron 截断大文件

php - 编写 php 库的指南?

php - 如何使用 PHP 从 JPEG 创建视网膜图像

javascript - 带有 href 的 POST 请求

linux - 本地计算机上的 2 个 Postgres 服务器。如何卸载或解除关联?

linux - Ubuntu启动时自动启动UDP服务器