Linux-Nginx-MySQL-PHP环境搭建:F**K,PHP7删除了mysql哭,


安装nginx

安装nginx的命令:

sudo apt-get install nginx

启动nginx:

sudo service nginx start

打开浏览器,输入localhost地址,如下显示,nginx启动成功。


安装php

安装命令

sudo apt-get install php5-fpm

若安装失败,用“sudo apt-cache search php”查询软件仓库中的php版本号,然后再"sudo apt-get install php-查询到的版本号 " 进行安装。

修改nginx的配置文件(/etc/nginx/sites-available/default),让nginx支持php。这里选择nginx与php通信方式是tcp连接。另外修改nginx的主目录,nginx配置文件默认的是/var/www/html,这里改为/var/www。具体相关配置参见下图。



修改好nginx的配置文件,执行sudo service nginx reload重新加载配置文件。

由于上面在nginx配置文件中nginx与php的通信方式选择的是tcp连接,所以也需要修改php5-fpm的配置文件(/etc/php5/fpm/pool.d/www.conf),具体配置见下图。


listen =127.0.0.1:9000表示php5-fpm在9000端口监听连接请求,9000是默认端口。

接下来启动php5-fpm,使用如下命令:

sudo service php5-fpm start

这个地方会出现502:Bad gateway  原因:PHP与nginx没有连接上

解决方案:sudo service php7.0-fpm reload 

下面就来验证nginx是否支持php了。在/var/www/目录下创建一个文件test.php,内容如下:

<?php

echo phpinfo();

?>

打开浏览器,输入地址:localhost/test.php,显示如下:


说明nginx可以成功运行php了。

下面来安装mysql。

安装mysql

安装命令

sudo apt-get install mysql-server mysql-client

安装过程中会提示输入root用户密码。

下面测试php是否可以连接mysql数据库了。在/var/www/目录下创建一个文件mysql.php,内容如下:

<?php

//连接mysql

$con = mysql_connect( "localhost",  "root",  "****"  );

if (  ! $con  ) {

    echo 'Could not connect: '  .  mysql_error();

    die();

}

//创建一个数据库test

if( mysql_query( 'create database test' , $con )  )  {

    echo 'Database created! ';

}   else   {

    echo 'Database created error : '   .  mysql_error();

}

mysql_close( $con );

打开浏览器,输入地址:localhost/mysql.php,发现没有任何输出。打开浏览器调试器查看请求,发现服务器返回500。


这是因为上面我们只安装mysql,并没有安装php的mysql扩展,下面来安装mysql扩展。

首先搜索一下mysql的扩展安装包有哪些。

apt-cache search php5-mysql


我们安装第一个,使用下面命令:

sudo apt-get install php5-mysql

安装完成后,输入sudo service php5-fpm restart命令重启php-fpm。

修改php.ini配置文件,改display_error=On,   error_reporting = E_ALL|E_STRICT

天用了PHP7,发现和PHP5变化还挺大的,最大的就是MySQL的连接库变了。

 

PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数

 

PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:

 

 

本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:

  • mysqli_connect()
  • PDO::__construct()

使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。


然后打开浏览器输入地址:localhost/mysql.php,结果如下所示:


命令行登入数据库,查看数据库,发现已经创建。


至此,我们已经安装好LNMP了。

 随笔

相关内容

    暂无相关文章