解決php的exec 不執行shell命令的問題

2021-10-23 07:16:41 字數 869 閱讀 5059

最近遇到乙個問題,客戶會同時輪詢修改上百條資料,併發性又很高,但又不是很頻繁地使用,於是寫了乙個悲觀鎖,使用佇列在後台非同步處理,使用exec主動觸發任務。

public

function

lock_test()

1.這裡使用exec主動觸發任務;也可以使用system呼叫sh指令碼,指令碼中也要將返回寫入日誌,否則無法非同步處理。

public

function

task()

2.**編寫完,瀏覽器開啟task,shell沒有執行,多次測試,是因為php-fpm執行使用者沒有許可權導致。

echo

shell_exec

('whoami');

//執行使用者

我這裡顯示的是apache,這個使用者名稱可以去php-fpm配置檔案中找。

3.給檔案賦予apache的執行許可權,專案用的tp框架,直接給整個框架賦予許可權。

4.執行task,成功

PHP 執行exec函式

exec 執行外部程式 語法 string exec string command array output int return var exec函式解析 exec語法 string exec string command,string array int return var exec返回值 字...

php執行sh檔案 沒有輸出的原因 及解決方法

沒有輸出 而在linux中 是有輸出的 此時加入管道命令 2 1,命令就會輸出shell執行時的錯誤到 output變數,輸出該變數即可分析 此時輸出 翻譯一下 沒有許可權 登入linux的賬號是有許可權使用sudo的 而執行指令碼的使用者是沒有sudo 許可權的 而此命令 可以被一般使用者執行 把...

php在伺服器執行exec命令失敗的解決方法

前言 本文針對windows php環境,linux系統不在討論範疇。出於安全的原因,伺服器是不允許php或者其他語言執行exec命令的,當你有特殊需要php在伺服器執行ex程式設計客棧ec命令時www.cppcns.com,你需要設定兩個地方,不然就無法執行成功。程式設計客棧1 修改php.ini...