Ubuntu16.04中lamp配置中php连接mysql动态库加载出错处理方案

今日我在ECS服务器Ubuntu16.04中配置了一套lamp环境,出现了以下问题:

然后仔细看了php.ini中的内容之后发现,linux中不能配置extension=mysql.dll这些配置项,这些是windows配置项。

下面就是具体的解决方案了:
1. 先在linux中查找到php.ini文件所在位置:
命令:find / -name "php.ini",查找结果如图所示:(以我的机器为例,与你的有差别另作分析)

2. 修改apache2中的即可,如果之后重启后还是不好,你就按照一样的方法将别的文件也修改一下,试试。因为我三个都试过了,到了最后,我都把配置删了,还是可以连接,也是神了。(希望你们有谁出现问题的能确定好哪一个文件的问题)
3. php.ini文件修改项:
    (1)extension_dir = "your_mysqli的文件的目录"
             your_mysqli的文件的目录,查找手段:find / -name "mysqli.so"
      (2)   还有就是找到下图所示位置,更新一行记录:extension=mysqli.so

4. 配置文件修改完之后就该重启服务了:(三个服务都要重启)
service apache2 restart (重启apache)
service mysql restart (这个mysql服务重启方法可能有所不一样,我的是这样的,正规的应该是service mysqld restart)
/etc/init.d/php7.0-fpm restart (重启php7.0服务)
5. 附上测试案例:

PHP code?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<?php

/* Connect to a MySQL server  连接数据库服务器 */

$link = mysqli_connect(

    'localhost',  /* The host to connect to 连接MySQL地址 */

    'root',      /* The user to connect as 连接MySQL用户名 */

    '123456...',  /* The password to use 连接MySQL密码 */

    'mysql');    /* The default database to query 连接数据库名称*/

if (!$link) {

    printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());

    exit;

}else

    echo '数据库连接上了!';

/* Close the connection 关闭连接*/

mysqli_close($link);

?>  

猜你喜欢

转载自blog.csdn.net/u012891980/article/details/81181910
今日推荐