2012-02-29 129 views
7

我使用的命令命令增加一個新的cronjob:權限在cron作業否認COMAND

/bin/sh: /home/gbtusyll/public_html/run.php

但該命令沒有運行,我收到一個郵件,指出:

/bin/sh:/home/gbtusyll/public_html/run.php:權限被拒絕

問題是什麼?

回答

5

嘗試

chmod +x run.php 

也確保有適當的所有者設置(即,如果您登錄爲用戶,如果該文件的所有者是「用戶」 - 您可以通過運行ls -la

做到這一點,例如

小心:這可能是生產環境現狀很危險,但是我相信這會解決您的問題,發展你應該閱讀有關權限以後

+1

爲了這個工作,你需要在你的文件中有一個shebang行;像'#!/ usr/bin/env php'作爲第一行。 – praseodym 2012-02-29 21:08:57

+0

@praseodym你是對的,我upvoted你的答案 – mkk 2012-02-29 22:58:23

18

使用php /home/gbtusyll/public_html/run.php,而不是運行它作爲一個PHP腳本代替。一個常規的shell腳本。

+0

Thnaks.For我第一次使用cronjob,它可以幫助我。 – pkk 2015-10-07 11:35:59

+0

我也是cronjob的新手。對於新用戶,應該注意的是,通往環境路徑的鏈接也應該在大多數cPanel中正確提及,例如'/ usr/local/bin/php',而不是'php'。所以使用'/ usr/local/bin/php/home/cPaneluser/public_html/yourscript.php'。一些共享主機的cPanel可能有不同的路徑。 '/ usr/local/bin'和'/ usr/bin'是從根開始的流行路徑。 (顯然,godaddy同時使用了兩種情況,基於大小寫。 [(1)](https://in.godaddy.com/help/critical-paths-for-your-linux-vps-or-dedicated-server-1360) [(2)](https://in.godaddy.com/help/create-cron-jobs-16086)) – 2017-04-23 01:20:29

+0

對於大多數其他主機,[請參閱本指南瞭解更多](https://www.namecheap。 COM /支持/知識庫/ article.aspx /29分之9453/如何可以運行的腳本,通過-的cron的作業) – 2017-04-23 01:21:13

2

本身,/bin/sh無法運行php文件。 PHP解析這樣做。 使用/bin/sh只有在您爲文件的第一行提供文件執行權限(+x)並將#!/usr/bin/php(或您的PHP二進制文件所在的位置)時纔會起作用。

嘗試運行/usr/bin/php /home/gbtusyll/public_html/run.php直接在您的文件上使用PHP解析器。在這種情況下,PHP不必是可執行的才能運行。