Bash执行PHP脚本-权限被拒绝

时间:2018-11-30 17:14:20

标签: php bash shell cron

当我的crontab执行此脚本时,它会向我发送此输出的电子邮件。我不确定是什么问题。这是我收到的输出。

/bin/bash: /home/kingsms/public_html/cronsH.php: Permission denied

[screenshot]

3 个答案:

答案 0 :(得分:0)

尝试使文件可执行: chmod +x /home/kingsms/public_html/cronsH.php

答案 1 :(得分:0)

将权限更改为0777后,出现此错误

/home/kingsms/public_html/crons.php:第1行:?php : 无此文件或目录 /home/kingsms/public_html/crons.php:第2行:意外令牌'ENVIRONMENT',' /home/kingsms/public_html/crons.php: line 2: define('ENVIRONMENT','production')附近的语法错误; '

答案 2 :(得分:0)

Bash不是您脚本的正确解释器。您将需要使用PHP执行它。问题是您需要知道PHP解释器的位置。很可能是在这些地方之一。

/usr/bin/php
/usr/local/bin/php

您还可以在cron中执行此操作并获取结果。

/usr/bin/find / -name php -type f 

这应该为您提供php可执行文件的所有位置。

最有可能是/ usr / bin / php,因此您将crontab条目更改为:

/usr/bin/php /home/kingsms/public_html/cronsH.php

我必须说,在public_html目录中包含任何可执行文件和可写世界内容,这是一个很大的安全隐患,但这是另一篇文章。

顺便说一句,另一种选择是打开脚本,然后将解释器指令放在脚本顶部,如下所示。

#!/usr/bin/php
<?php