Php
Bash 腳本在命令行中工作,但不是通過 PHP
我正在嘗試通過 PHP 執行以下命令:
$output = shell_exec('sudo /Users/Derk/Code/automation/psc/pdfs.sh 1');
這將執行以下 bash 腳本程式碼:
sudo /usr/local/bin/pdftk cvcheck_template.pdf fill_form data.fdf output output.pdf flatten sudo /usr/local/bin/convert -density 150 -gravity south -geometry +0+150 -composite output.pdf signature.png new_output.pdf
bash 腳本在命令行中完美執行,但是當我嘗試通過 PHP 在 Web 伺服器 (MAMP) 上執行它時,它沒有給我任何輸出。第一個命令似乎有效,但第二個命令什麼也沒給我。
任何幫助將非常感激。
最終歸結為權限問題。通過 Web 瀏覽器執行 Python 腳本所觸及的各個文件需要在 www-data 組中具有寫入權限。
我的錯誤是他們有閱讀和執行權,但沒有寫作權。因此,一旦我修改了適當的文件,一切都執行良好。
我也曾經
sudo -u www-data command
測試過 PHP 文件,而無需通過瀏覽器對其進行測試。這使得測試速度更快。