keil5库文件安装失败_php调用python失败怎么办

有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的。感谢阅读!

点此加入该群​jq.qq.com

PHP调用Python失败的解决办法

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

在php文件中运行Python:

efba00b6f98c896ff2a30ecb54279ad5.png

如果运行Python出错并不能保存在数组array中,因此应该把标准错误重定向到文件中,以上代码改写如下:

6906de6cdac604fe212e0f365e1f553a.png

在bash中0,1,2三个数字分代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制台),标准错误(出错信息输出)。

也可以通过以下方式将标准错误重定向到标准输出保存到$array中:

da7b2b8d36d06435ceb40bea129c5e29.png

然后就可以根据错误信息去寻求解决办法。

一般在终端通过命令运行PHP文件是可以马上看到错误信息的,但是通过浏览器运行PHP文件就只能上面所述方法去输出错误信息。因此问题也就是在命令行下PHP可以成功执行Python文件,而通过浏览器就不能成功运行,这是因为两种方式所调用的动态库不一致!

通过命令行方式调用的是系统中的已有的动态库,而通过浏览器方式调用的是Web服务器中的动态库。(我安装的XAMPP,所以通过浏览器方式调用的就是lampp/lib中的动态库)。

解决办法:

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

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

3.将web服务器中的同名动态库删除或重命名

4.将通过第2步在系统中找到的动态库链接到web服务器的lib目录中

实例:

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

67186d223a096e598ce60a751df3121d.png

1.找出系统中包含libcrypto.so.1.0.0的所有路径:locate libcryto.so.1.1

9739cea0dd14550f731780727e54bb72.png

2.将web服务器中的同名动态库重命名:

1774dc2a924da0764b844848ac24ffd2.png

3.将系统中libcryto.so.1.1链接到web服务器的lib目录中:

bcd98d58fd30c5734b53de93d77c7897.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值