
此错误是出现在安装并配置好PHP、Mysql、Apache服务器的情况下产生的。
我在网上查找了很多原因,并尝试着修改之后成功了,将解决方法跟大家交流下。
1、在PHP安装目录之下,找到php.ini,在此文件中将“extension=php_mysql.dll”引号中句子前的分号去掉。表明php可以加载此mysql模块,当然也可以选择其他要加载的模块,去掉其前面的分号,但是模块加载得越多,占用的资源越多。
2、加载了模块之后,就需要指明模块所在的位置,比较简单的方式是直接修改环境变量。
具体 *** 作为:
右键”我的电脑” ->“属性” ->“高级” ->“环境变量”,编辑“系统变量”下的“Path”,在原来的值后加上“E:\php\php5E:\php\php5\ext”。(“E:\php\php5”为php的安装目录)
系统路径添加好之后需要重启计算机才能生效。
3、将php安装目录下的libmysql.dll拷贝至apache服务器的bin目录之下。
4、所有的配置修改好之后,需要重启apache服务器。
测试代码:test.php(其中,user为MySQL的用户名,userpassword为MySQL的对应用户密码)
首先说明,远程服务器是可远程访问的。我遇到的问题是这样的:有A,B,C三台服务器,C为服务器,B可以用PHP成功连接上C机器的mysql,而A机器则不能连接!
可以说,肯定不是代码有什么问题,服务器上的mysql设置也是没什么问题的,因为B机器都是可以的。
肯定是A机器的设置有问题!
在网上一顿搜,各种说mysql授权问题的,以及修改php.ini的,修改防火墙的,事实上都不是这些问题导致的。
和这个页面上讨论的问题类似,但是没人给出结果,链接:http://bbs.csdn.net/topics/90284141
最后想到了SELINUX的问题,对比了下AB两台机器,果然设置不一样!估计就是它的问题,有戏!
进行了如下设置:
root下,用vim打开文件文件/etc/selinux/config
修改SELINUX的值:
#SELINUX=enforcing
SELINUX=disabled
保存并退出。
重启生效,如果不想重启,命令行输入
setenforce
0
回车,OK
此处修改参考:http://www.xiaojb.com/archives/tips/disabled-selinux.shtml
最后,连接成功,哦耶!!!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)