从php调用的python脚本连接到数据库

从php调用的python脚本连接到数据库,php,python,mysql,apache,permissions,Php,Python,Mysql,Apache,Permissions,我有一个python脚本,它执行以下代码行 system('mysql-H-uusername-ppwd-hipaddr-e“一些查询”>filename.html') 当这个python脚本独立执行时,一切看起来都很好,查询输出将生成一个html文件 但是,当我从php调用python脚本(使用shell_exec())时,出现了一个问题。“filename.html”被创建,但文件是空的。当搜索到这个时,我发现必须这样做 setsebool-p httpd_can_network_conne

我有一个python脚本,它执行以下代码行

system('mysql-H-uusername-ppwd-hipaddr-e“一些查询”>filename.html')

当这个python脚本独立执行时,一切看起来都很好,查询输出将生成一个html文件

但是,当我从php调用python脚本(使用shell_exec())时,出现了一个问题。“filename.html”被创建,但文件是空的。当搜索到这个时,我发现必须这样做

setsebool-p httpd_can_network_connect=1

因此,现在我可以使用从php调用的python脚本中的mysqldb模块连接到mysql,我不需要它。 我想通过os.system()使用mysql的execute命令执行查询,从php调用该命令时仍然存在问题。 有什么建议可以让我做对吗

编辑: 这是我的php脚本

<?php

$command = escapeshellcmd('python csv_generate.py');
$output = shell_exec($command);
echo $output;
?>
从php调用时,将执行python脚本并打印hii。html文件也已创建,但文件为空。即使我尝试在浏览器中显示输出 i、 e

它只打印“hii”

错误日志包含


sh:/usr/local/mysql/bin/mysql:Permission denied

您需要创建一个sh文件,并将用于连接的命令放入其中

例如,test.sh

python csv_generate.py
在PHP中

exec("sh test.php");
因此,执行命令不会失败

chmod 777 csv_generate.py

确保/usr/local/mysql/bin/mysql也被chmoded为777
exec("sh test.php");
chmod 777 csv_generate.py