PHP调用python,shell命令执行成功,web运行失败
2017-08-10 20:06
615 查看
问题现象:
环境:Ubuntu 12.04、PHP 5.5.9、python3.5。
php使用exec()、system()等调用python脚本时,shell命令在服务器执行成功,而放在浏览器运行却失败。
解决方法:
1、使用print判断脚本有没有被成功调用;
发现可以打印出一部分,没有打印的部分应该是程序有问题。
若是所有print没有打印,则可能是apache执行用户的权限不够,可新建用户并添加在root权限组里,在php.ini修改apache执行用户,重启apache即可。(因为博主不是这个问题,所以没有测试可行性。。。)
2、在shell命令下程序运行完全正常,没有报错,这个时候就只能去找apache错误日志了!!!
一般系统范围的Apache错误日志默认位置是/var/log/apache2/error.log。默认位置可以通过编辑Apache的配置文件进行修改。
如果是自定义的错误日志,用文本编辑器打开 /etc/apache2/apache2.conf,然后查找以 ErrorLog 开头的行,该行指定了自定义的 Apache 错误日志文件的位置。例如,在未经修改的 Apache 配置文件中可以找到以下行:
ErrorLog ${APACHE_LOG_DIR}/error.log
错误日志里完美的记录着所有你作死的记录,果然我的python是因为编码问题才在浏览器运行失败的!
环境:Ubuntu 12.04、PHP 5.5.9、python3.5。
php使用exec()、system()等调用python脚本时,shell命令在服务器执行成功,而放在浏览器运行却失败。
解决方法:
1、使用print判断脚本有没有被成功调用;
发现可以打印出一部分,没有打印的部分应该是程序有问题。
若是所有print没有打印,则可能是apache执行用户的权限不够,可新建用户并添加在root权限组里,在php.ini修改apache执行用户,重启apache即可。(因为博主不是这个问题,所以没有测试可行性。。。)
2、在shell命令下程序运行完全正常,没有报错,这个时候就只能去找apache错误日志了!!!
一般系统范围的Apache错误日志默认位置是/var/log/apache2/error.log。默认位置可以通过编辑Apache的配置文件进行修改。
如果是自定义的错误日志,用文本编辑器打开 /etc/apache2/apache2.conf,然后查找以 ErrorLog 开头的行,该行指定了自定义的 Apache 错误日志文件的位置。例如,在未经修改的 Apache 配置文件中可以找到以下行:
ErrorLog ${APACHE_LOG_DIR}/error.log
错误日志里完美的记录着所有你作死的记录,果然我的python是因为编码问题才在浏览器运行失败的!
相关文章推荐
- php web端不能调用shell_exec运行linux命令(unoconv为例)
- gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。
- paip.执行shell cmd 命令uapi java php python总结
- php 执行linux命令,shell脚本函数,获取服务器运行状态值
- C++/Php/Python 语言执行shell命令
- system函数返回(如何判断调用的shell命令是否执行成功)
- python 如何判断调用系统命令是否执行成功
- shell脚本手动执行成功,定时任务调用失败的解决方法。
- PHP 中使用命令行工具 在 Web 应用程序中运行 shell 命令
- MacOS python shell下使用命令运行ok,但是在eclipse上运行失败
- 执行yiic webapp命令时报错:php.exe不是内部或外部命令,也不是可运行的程序
- 解决PHP中Web程序中shell_exec()执行Shell脚本不成功问题
- C++/Php/Python 语言执行shell命令的方法(推荐)
- Python调用shell命令的几种方法(在新进程中执行shell命令)
- adb shell [你的命令]在设备上执行成功,在pc上调用却失败原因分析
- php调用Linux命令成功执行但函数不返回[已解决]
- PHP 中使用命令行工具 在 Web 应用程序中运行 shell 命令
- 在执行yiic webapp命令时,就报以下错误了: ‘"php.exe"’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
- 手动运行脚本执行正常而放入crontab调用hadoop命令没有执行成功
- 执行yiic webapp命令时报错:php.exe不是内部或外部命令,也不是可运行的程序