[问题] php call python

楼主: lccf   2021-04-29 05:30:52
各位大大好
想请教一下
如果我目前想在appserv环境下 写一只PHP 去执行python
有参考相关的做法
PHP端
test.php
<?php
$command = escapeshellcmd('python3 /usr/custom/test.py');
$output = shell_exec($command);
echo $output;
?>
Python端: test.py
fp = open("filename.txt", "a")
# 写入 This is a testing! 到档案
fp.write("This is a testing!")
# 关闭档案
fp.close()
如果用以下执行时 http://127.0.0.1/test.php
会无法正常产生filename.txt
他会直接略过整只python, 不知是否有其他相关的作法 感谢
作者: TitanEric (泰坦)   2021-04-29 09:22:00
python interpreter路径 以及档案路径要注意
作者: single4565 (leekdumpling韭菜水饺)   2021-04-29 23:27:00
而且就算能正常执行,它也只能执行简单的函式库
作者: TitanEric (泰坦)   2021-04-30 09:56:00
楼上如果虚拟环境路径正确应该都可以执行
作者: OrzOGC (洞八达人.拖哨天王)   2021-04-30 11:26:00
我只会弄个flask让php去call ...QQ
作者: TitanEric (泰坦)   2021-04-30 15:21:00
刚测了一下可以 除了路径之外 也要注意你IP跟port对不对
楼主: lccf   2021-04-30 16:11:00
感谢各位大大
作者: kenduest (小州)   2021-05-02 10:24:00
因为web服务是使用某个独立帐号身分执行,所以执行外部程式时候也会延续原本身分。若是python后续开档的所在目录权限没有允许写入就好发生错误。

Links booklink

Contact Us: admin [ a t ] ucptt.com