当前位置: 首页 > 图灵资讯 > 行业资讯> php运行python脚本失败怎么解决

php运行python脚本失败怎么解决

发布时间:2025-09-21 14:21:48

假设有文件:php_test.php python_test.py

Python在php文件中运行:

exec("pythonpython_test.py",$array,$ret);

若运行Python错误不能保存在数组aray中,则应将标准错误重新定位到文件中,上述代码重写如下:

exec("pythonpython_test.py2>error.txt",$array,$ret);

代表STDIN__在bash中0、1、2三个数字FILENO、STDOUT_FILENO、STDERR_FILENO,也就是说,标准输入(通常是键盘)、标准输出(通常是显示屏,准确地说是用户终端控制台)、标准错误(错误信息输出)。您也可以通过以下方式将标准错误重新定位到$aray中:

exec("pythonpython_test.py2>error.txt2>&1",$array,$ret);

然后你可以根据错误的信息找到解决办法。

相关推荐:Python教程

一般来说,当PHP文件通过命令在终端上运行时,您可以立即看到错误信息,但当PHP文件通过浏览器运行时,您只能通过上述方法输出错误信息。因此,问题是PHP可以在命令行下成功执行Python文件,但由于两种方法调用的动态库不一致,因此无法通过浏览器成功运行!命令行调用系统中现有的动态库,Web服务器中的动态库通过浏览器调用。(我安装了XAMPP,所以我通过浏览器调用了LAMP/lamp。

解决办法:

1、在输出的错误信息中找到错误的动态库。

2、通过locate命令找到相关动态库的位置:locate libxxx.so。

3、删除或重新命名web服务器中的同名动态库。

4、将在系统中找到的动态库链接到web服务器的lib目录中。

实例:

使用hashlib模块时,Python可能会出现两个错误:

relocationerror:python:symbolOpenSSL_add_all_digests,versionOPENSSL_1.0.notdefinedinfile
libcrypto.so.1.0.0
withlinktimereference

python: /opt/lampp/lib/libcrypto.so.1.0.0: version `OPENSSL_1.0.2' not found (required by /opt/lampp/lib/libssl.so.1.0.0)

1.发现系统中包含libcryptoo.so.1.0.0的所有路径:locate libcryto.so.1.1

/home/ubuntu/.cache/vmware/drag_and_drop52091a33-81b7-cc30-d88c-574c47558e32ndk/libimobiledevice-android-master/
openssl/libcrypto.so.1.0.0
/home/ubuntu/.cache/vmware/drag_and_drop52091a33-81b7-cc30-d88c-574c47558e32ndk/libimobiledevice-android-master/
out/fsroot/lib/libcrypto.so.1.0.0
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
/opt/lampp/lib/libcrypto.so.1.0.0

2.重命名web服务器中的同名动态库:sudo mv /opt/lampp/lib/libcryto.so.1.1 /opt/lampp/lib/libcryto.so.1.1.bak

3.libcrytoyto在系统中.so.1.1链接到web服务器的lib目录:sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/lampp/lib/libcryto.so.1.1

libssl.so.1.0.0同上解决步骤。

相关文章

python 成员方法的区别是什么

python 成员方法的区别是什么

2025-09-21
python set是什么类型

python set是什么类型

2025-09-21
php运行python脚本失败怎么解决

php运行python脚本失败怎么解决

2025-09-21
Python中的变量与常量

Python中的变量与常量

2025-09-19
python和c语言的区别是什么

python和c语言的区别是什么

2025-09-19
python3怎么下载

python3怎么下载

2025-09-19