一尘不染

MySQL连接无法在Perl CGI脚本中运行

tomcat

我可以使用Perl脚本中的DBI模块轻松地连接到远程MySQL服务器。但是,当我尝试在CGI脚本中使用相同的连接设置/属性时,连接失败。

尽管使用apache错误日志或浏览器,也没有记录有用的错误/警告

use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

奇怪的是,当从终端执行时,完全相同的脚本可以正常工作。我还尝试将CGI脚本连接到localhost上的MySQL服务器,但没有成功。

另一方面,phpMyAdmin在计算机上运行良好。

我正在使用CentOS 5.8版。我怀疑这是apache用户或OS上其他任何地方的系统/特权问题,但是已经走到了尽头。

任何指针将不胜感激!

非常感谢。

编辑:我正在使用以下连接字符串

$dbh = DBI->connect($ds, $uname, $pwd,{RaiseError => 1 }) or die "$DBI::errstr Could not connect: $!<br>";

阅读 305

收藏
2020-06-16

共1个答案

一尘不染

固定它。万一对Linux管理不太熟悉的人遇到类似的问题,这就是发生的事情。我的CentOS计算机上的安全系统“
selinux”禁止httpd与远程MySQL服务器建立网络连接。必须使用以下命令显式启用它

setsebool -P httpd_can_network_connect=1

您可以在此处阅读有关selinux的更多信息:

http://wiki.centos.org/HowTos/SELinux

2020-06-16