我在本地运行PHP Web脚本以通过终端使用命令php -S localhost:8000
进行测试。
<?php $command = '/usr/bin/python /Users/Jupiter/Desktop/NC/www/createHarbourContainter.py'; exec($command); ?>
我试图调用存在于同一目录中的这个python脚本:
#!/usr/bin/python
import os
import sys
save_path = '/Users/Jupiter/Desktop/NC/harbours/'
name = sys.argv[1]
def newHarbourContainer():
os.makedirs(save_path + name)
def main():
newHarbourContainer()
if __name__ == '__main__':
main()
此python脚本设置了chmod x+
。
我可以从终端运行python脚本:python createHarbourContainter.py
我无法做的是让PHP函数exec()
调用python脚本。需要帮助!
答案 0 :(得分:0)
在PHP中,你可以使用反引号来执行shell命令,所以试试这个:
<?php
`/usr/bin/python /Users/Jupiter/Desktop/NC/www/createHarbourContainter.py`
?>
有关详细信息,请参阅http://php.net/manual/en/language.operators.execution.php
答案 1 :(得分:0)
所以我找到了一个解决方案:
$output = shell_exec('python createHarbourContainer.py')
将输出恢复到浏览器中:
echo "<pre>$output</pre>";
我在PHP Development Server
中运行服务器。
在index.php所在的目录中使用bash命令:php -S localhost:8000
。
服务器正在记录浏览器界面的所有输入和输出。
我意识到从php调用/usr/bin/python
时,PHP Development Server
会暂停并打开python解释器。
设置我想要执行的python脚本的整个路径不起作用,因为PHP脚本没有权限。
将来如何帮助其他人。