[英]Unable to run Python Script from PHP and print output to browser
我見過很多其他人遇到類似的問題,他們無法從PHP運行Python腳本。 我遇到的情況也一樣,但是我嘗試了人們推薦的所有解決方案,但還是沒有運氣。 我也有全新的系統安裝,並且使腳本盡可能簡單。 無論我做什么,shell_exec()都會返回NULL。
所以這是如何復制我的問題:
<?php
$command = escapeshellcmd('sudo /usr/bin/python '.__DIR__.'/script.py');
$output = shell_exec($command);
exit(var_dump($output));
#!/usr/bin/python
print('Hello!')
因此,為嘗試解決此問題,我還將.py文件的用戶組更改為“ apache”,並在.py文件上運行了chmod + x。 我確認ec2-user和apache在sudo組中。 還是沒有運氣! 所以我沒有嘗試過什么? 我缺少什么,或者在哪里可以找到錯誤日志?
使用文件常量__FILE__
來確定pyhton腳本的路徑僅在將dirname
函數應用於該路徑的情況下才有效-否則,您會得到類似/var/www/html/script.php/script.py
,但是您實際上想要僅/var/www/html/script.py
。
有兩種簡單的解決方案。 使用dirname
或直接使用__DIR__
常量。
$command = escapeshellcmd('sudo /usr/bin/python ' . __DIR__ . '/script.py');
要么
$command = escapeshellcmd('sudo /usr/bin/python ' . dirname(__FILE__) . '/script.py');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.