一点小经验~!
创新互联长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为博州企业提供专业的网站建设、成都网站建设,博州网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
网上的各种教程~1
我就不说了~!我疯狂的试验了各种教程~!
都无法让我的php5连接数据库
可是php4却能正常~!
我为此三天熬夜,也没弄明白!
后来我发现~!
zend安装的时候会备份老的php配置文件
也就是php.ini文件~!
运行的zend的时候 ,也就是说~!你怎么配置新php 都无法见效~
导致mysql无法连接~!
其实我们只要看到现在zend读取的是哪个配置文件~!
覆盖就好~!
比如~!
我们用php探针~!发现 第五行 Loaded Configuration File C:\phpcopy\php.ini
哈哈原因就在这里~!
我一直配置的是php5文件下的 php.ini
白白浪费我三天时间!~
在下菜鸟~!很多人都没遇到这个问题~!
老手不要骂我~!
不过也希望对新手有用!
如果你用了所有的办法!都不能运行php5
不妨试试我这招!
推荐:最好先卸载zend 装上php5之后
在重新安装zend~!
第一步、建立一个TEST.PHP,内容如下,就可以检查你的PHP配置是否已经支持MYSQL数据库了:
?php
phpinfo();
?
就这么三行的一个PHP,放在你的网站里面,用浏览器打开它,仔细寻找里面是否有MYSQL数据库支持,如果没有,说明有地方没对。我的PHP5和APACHE2配合没有问题,和IIS没有测试,应该没有问题。
第二步、连接数据库测试。如果你上面的测试通过,那么修改TEST.PHP为以下内容可以测试MYSQL数据库连接是否正确:
?php
if (mysql_connect('127.0.0.1','用户名','密码')){
echo '数据库连接成功';
mysql_close();
}else echo '数据库连接失败。';
?
主要问题就是你的系统PATH设置有问题,系统找不到php5的安装路径,所以使用的是默认路径,当然就找不到dll文件了,你按照下面这篇文章的调整一下吧。 转载自IT博客园原文地址: 按照我前篇文章Apache+php+mysql安装图解安装完成后。重启Apache时提示无法正确加载php_mysql.dll。google了一下,网上有不少的文章写这个,即提示:PHP startup: Unable to load dynamic library './php_mysql.dll 找不到指定的模块。:D:\php \php-5.0.5-Win32\ext\php_mysql.dll。明明php_mysql.dll就摆在extension_dir (= D:/php/php-5.0.5-Win32/ext)下的嘛,在环境变量里按图示设置的,没有错呀!怪了!有人说copy libmysql.dll到 %windir%\system32下就可以解决问题,试了下,再重启,还是没有用喔。晕死掉了。 php被我放在D盘,还是设置时还要加上什么目录什么的。还是环境变量没有设对?!%ProgramFiles%到D:\下,导致一些要依赖于其他dll才能工作的扩展无法正常加载这些dll,出现加载扩展出错,以刚才的php_mysql.dll为例,php_mysql依赖libmysql.dll,由于给PHP挪窝了,而又没有把新的D:\PHP加到%PATH%中去,所以没法找到这个libmysql.dll,才会出错。所以为了能够使用这些mysql的扩展,除了要正确地配置extension_dir外,还得保证系统能够这些扩展所依赖的dll,解决的办法有两个: 1 将这些依赖的dll拷贝到%windir%\system32下 2 或者将PHP的安装目录添加到%PATH%中。 以上方面都不行时。我是用把PHP目录下的所有DLL复制到windir%\system32下再试了下,还是不行再把。php_mysql.dll 复制到windir%\system32下,重启Apache,搞定! 总结如下: 1、extension_dir要设置正确。 2、把所依赖的dll拷贝到%windir%\system32 3、或者将PHP的安装目录添加到%path%中. 还是不行,就按我上面的方法就是把那些。DLL 都复制到windir%\system32目录下。应该是把php_mysql.dll和libmysql.dll就可以搞定了。其它的方法类似。就是把他本身的DLL和所依赖的DLL都COPY到windir%\system32目录中就行。重启下就知道了。 够简单的. 到底哪些扩展依赖哪些dll呢?请看下面的列表: php_curl.dll CURL, Client URL library functions Requires: libeay32.dll, ssleay32.dll (bundled) php_domxml.dll DOM XML functions PHP = 4.2.0 requires: libxml2.dll (bundled) PHP = 4.3.0 requires: iconv.dll (bundled) php_fdf.dll FDF: Forms Data Format functions. Requires: fdftk.dll gnu_gettext.dll (bundled), PHP = 4.2.3 requires libintl-1.dll, php_iconv.dll ICONV characterset conversion Requires: iconv-1.3.dll php_ingres.dll Ingres II functions Requires: Ingres II libraries php_interbase.dll InterBase functions Requires: gds32.dll (bundled) php_java.dll Java functions PHP = 4.0.6 requires: jvm.dll (bundled) php_ldap.dll LDAP functions PHP = 4.2.0 requires libsasl.dll(bundled), PHP = 4.3.0 requires libeay32.dll,ssleay32.dll (bundled) php_mcrypt.dll Mcrypt Encryption functions Requires: libmcrypt.dll php_mhash.dll Mhash functions PHP = 4.3.0 requires: libmhash.dll (bundled) php_mcrypt.dll Mcrypt Encryption functions Requires: libmcrypt.dll php_mhash.dll Mhash functions PHP = 4.3.0 requires: libmhash.dll (bundled) php_msql.dll mSQL functions Requires: msql.dll (bundled) php_mssql.dll MSSQL functions Requires: ntwdblib.dll (bundled) php_mysql.dll MySQL functions PHP = 5.0.0, requires libmysql.dll (bundled) php_mysqli.dll MySQLi functions PHP = 5.0.0, requires libmysqli.dll (bundled) php_oci8.dll Oracle 8 functions Requires: Oracle 8.1+ client libraries php_openssl.dll OpenSSL functions Requires: libeay32.dll (bundled) php_oracle.dll Oracle functions Requires: Oracle 7 client libraries php_sybase_ct.dll Sybase functions Requires: Sybase client libraries php_xmlrpc.dll XML-RPC functions PHP = 4.2.1 requires: iconv.dll (bundled) php_xslt.dll XSLT functions PHP = 4.2.0 requires sablot.dll, expat.dll (bundled). PHP = 4.2.1 requires sablot.dll, expat.dll, iconv.dll (bundled).
参考资料:
分析步骤:
上传个php探针,看下php mysql的版本及一些组件支持;
写个最简单的php链接数据库的php页面访问测试下,高版本MySQL支持mysqli-connect不支持mysql-connect(好像);
然后再分析是创建的数据库权限给的不足还是php代码写到不对。
将php安装路径和ext的路径添加到系统环境变量, 然后重启电脑试试!