网页客户端使用php访问mysql数据时出现NetworkError: 500 Internal Server Error问题的解决方案

时间:2022-10-13 20:38:19

一、问题重现

1、网页客户端使用jQuery技术来获取linux服务端的数据,网页js代码如下:

$.post("test.php");
2、linux服务端使用php技术访问mysql数据库。其test.php中的代码如下:

<?php
$link = mysql_connect('localhost', 'root', '888888');
if (!$link) {
echo 'Connected falie';
}else{
echo 'Connected successfully';
}
mysql_close($link);
?>‍
3、结果网页客户端返回是  “ NetworkError: 500 Internal Server Error ” 是这样的结果。

二、问题解决方案

1、遇到这样的问题,首先将test.php的代码修改成如下:

<?php
phpinfo();
?>‍
这个函数的作用是将php相关的所有信息全部返回给网页客户端。

通过测试我发现,这个linux系统上的php竟然没有mysql项,所有原因找到了。 那接下来就是将php与mysql交互这块给补上去。

网上搜索一翻,可以直接安装php与mysql交互这块。模块名叫“php-mysql”.    使用linux命令  yum install php-mysql。

上面的解决方法是服务端linux没有阉割“yum”模块下可以使用,要是服务端被阉割了。哪有怎样去补上php-mysql模块呢?

2、进行对安装php-mysql后与没有安装php-mysql的系统对比php中的配置,发现在下面几个目录上增加了几个文件。

(1)在/usr/lib/php/modules/ 此目录下 新增了  mysql.so 与 mysqli.so  这两个文件。  将这两个文件拷贝过来。

(2)在/etc/php.d 此目录下新增了 mysql.ini 、mysqli.ini 、 pdo_mysql.ini  这三个文件。将这三个文件也拷贝过来。

结果,可以访问数据了。测试通过了。

不过还是有其他问题。使用post方法,服务端无法获取网页客户端发过去的数据,但是使用get方法,就可以正常获取客户端发过来的数据。