使用xampp在Windows上写了一个web可以正常运行,但是在Linux上无法正常运行,可以通过以下内容看哪一步是否出错:
- 首先查看有些文件是否赋予了权限
修改权限命令:
对一个目录以及其子目录的所有文件添加权限:
chmod -R 777 /home/linux
将文件 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
- 查看system命令是否可以正常执行:
查找php.ini文件的位置
在自己的网站目录新建一个php文件,添加:
<?php echo phpinfo(); ?>
并保存,然后在浏览器访问即可打开php配置信息
打开php.ini文件找到disable_functions,看要使用的函数是否被禁用,若被禁用,则删除即可。
- PHP中system,exec如何查看程序返回结果
很多时候执行system以及exec命令运行python脚本等报错了并不返回结果,可以通过重定向,将结果输出:
system("source /storage/www/html/deepai/bin/anaconda3/bin/activate 2>& 1",$ret);
echo("ret is $ret");
exec("source /storage/www/html/deepai/bin/anaconda3/bin/activate 2>& 1",$ret);
echo("ret is $ret");
成功执行,输出0;执行失败,输出1。
查到了报错之后发现是无法正确的调用python环境,在普通用户页面Linux系统下可以正常调用python环境,程序可以运行,通过apache则不可以
- 查看python的安装路径
查看所有python的路径
whereis python
查看当前使用的python路径
which python
通过以上排查以及一行行代码测试发现可以正常调用python环境,但是不能调用tensorflow等python包,到python安装包的目录里lib/site-pachages
也没找到这些python包,于是在普通用户linux页面查找tensorflow包find 'tensorflow'
或者通过该方法查找:
import os
os.path.abspath('.\\filename.py') #获得你要导入的模块的路径
发现安装到了普通用户的目录,也没搞明白明明是在python环境下安装的python包但是没安装到python的安装路径下,直接把普通用户目录下的所有python包复制过去
cp -r 源目录 指定目录
最后访问web可以运行python脚本并得到结果!
参考:
https://zhuanlan.zhihu.com/p/97177081
https://www.cnblogs.com/ChineseMoonGod/p/6474772.html
https://www.cnblogs.com/z-x-y/p/9475376.html
https://www.cnblogs.com/sogeisetsu/p/11415657.html
https://blog.csdn.net/weixin_39997664/article/details/115204345
https://blog.csdn.net/qq_33849629/article/details/81201029
https://www.cnblogs.com/xiangsj/p/10205770.html
国内pip安装镜像源