php+mysql代码运行报错如何解决?

php+mysql代码运行报错如何解决?,第1张

出现这种情况可能是extension_dir文件配置的时候没有设置好;或者运行php+mysql的时候,路径有问题导致无法正常加载。具体解决办法如下:

1、首先要找到正确的运行路径,将路径写好。

2、把php.ini文件放在C盘的Windows文件夹中,把PHPIniDir "C:/Windows/php.ini" 路径在httpd.conf 中改成正确的。

3、上述步骤完成后,重启apache程序,并且在里面输入phpinfo( )函数。

4、最后测试,看是否可以运行成功。

应该是数据库连接失败导致的,你可以打开调试模式,然后在连接数据库的时候进行判断,你可以先在成功之后设置一个die,就是停止程序运行,看看浏览器显示500吗?如果不显示,那就是后面的语句有问题,如果显示,那就是mysqli有问题,看看有没有这个驱动,最好是看下php和服务器的日志。

info.php在CentOS

64位虚拟机运行的时候,其中MySQL版本那一栏是空白信息。我查看了info.php源码,开始以为是MySQL数据库的用户名和密码填写错了,仔细检查没有错误之后,便查看了Apache的error_log,得到如下消息:

mysql_connect():

No

such

file

or

directory

在网上查了一下,说是本地socket设置与默认的不一样,导致php无法找到mysql的socket文件。根据网上提供的方法,需要做如下 *** 作。

首先,在MySQL中用status查看数据库状态,如下所示:

mysql

Ver

14.14

Distrib

5.1.69,

for

redhat-Linux-gnu

(x86_64)

using

readline

5.1

Connection

id:

10

Current

database:

Current

user:

root@localhost

SSL:

Not

in

use

Current

pager:

stdout

Using

outfile:

''

Using

delimiter:

Server

version:

5.1.69

Source

distribution

Protocol

version:

10

Connection:

Localhost

via

UNIX

socket

Server

characterset:

latin1

Db

characterset:

latin1

Client

characterset:

latin1

Conn.

characterset:

latin1

UNIX

socket:

/var/lib/mysql/mysql.sock

Uptime:

20

hours

55

min

30

sec

其中,标红的部分是我们需要的。然后打开php.ini文件,需要将mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket的值设置为标红后面的那个目录。重启apache服务器,后续info.php工作正常,MySQL的版本信息能够正常显示了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8693793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存