从php调用的python脚本连接到数据库
我有一个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调用的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
<?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