一、问题重现

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

[javascript] 

  1. $.post("test.php");  

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

[php] 

  1. <?php  

  2.     $link = mysql_connect('localhost''root''888888');  

  3.     if (!$link) {  

  4.         echo 'Connected falie';  

  5.     }else{  

  6.         echo 'Connected successfully';    

  7.     }  

  8.     mysql_close($link);  

  9. ?>  

3、结果网页客户端返回是  “ NetworkError: 500 Internal Server Error ” 是这样的结果。

二、问题解决方案

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

[php] 

  1. <?php  

  2.       phpinfo();  

  3. ?>  

这个函数的作用是将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方法,就可以正常获取客户端发过来的数据。