MySQL连接不从的Perl CGI脚本内工作(MySQL connection not worki

2019-09-22 09:22发布

我可以很容易地连接到使用DBI模块在我的Perl脚本的远程MySQL服务器。 然而,当我试图从一个CGI脚本中使用相同的连接设置/特性,连接失败。

有没有帮助的错误/警告被记录无论是在Apache的错误日志,或者浏览器,尽管使用

use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

奇怪的是,从终端执行时完全一样的脚本工作正常。 我也试过CGI脚本连接到本地主机上的MySQL服务器,但没有成功。

在另一方面,phpMyAdmin的机器上的伟大工程。

我使用CentOS版本5.8。 我怀疑它是系统/ priveleges问题与OS上的apache用户或其他任何地方,但已经进入了死胡同。

任何指针将不胜感激!

非常感谢。

编辑:我使用了下面的连接字符串

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

Answer 1:

修复。 如果有人不太熟悉Linux管理面临着类似的问题,这里发生了什么事。 安全系统“SELinux的”我的CentOS的机器上被禁止的httpd建立网络连接到远程MySQL服务器。 它必须使用以下命令明确启用

setsebool -P httpd_can_network_connect=1

人们可以阅读在这里更多的SELinux:

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



Answer 2:

检查你已经在MySQL中设置哪些用户了。 如果你想通过网络连接进行连接,你可以有与主机关联用户的一个问题。

尝试:选择主机,从mysql.user用户



文章来源: MySQL connection not working from within Perl CGI script