查看完整目录:【LAMP搭建系列】
最近更新:2018-12-4
前言
这里介绍的是php使用apt安装的方法与过程。相比于源码安装,APT安装的优点是方便快捷,而且还不用处理源码安装会出现的一系列依赖问题。这也是APT安装方法广受欢迎的一个非常重要的原因。
本文的所有操作都是基于Ubuntu 16.04.3 LTS 64位操作系统,如果你的操作系统与我的不一样,可能会出现不一样的结果,但Linux的原理都是通用的。
如果你使用的是Red-Hat系列的操作系统,如CentOS,那么你要使用的工具则是YUM。
安装PHP
1、搜索php源安装包
本来我打算的是php5的,但是搜索发现apt的远程镜像里并不提供php5,下面这张图上已经告诉了我结果。这里再次体现了使用apt安装软件的一个缺点,不能灵活自定义软件版本。
其实16.04默认的PHP版本就是7.0,这里我们就直接安装php7.0吧。
2、安装php7.0
sudo apt-get install php7.0
通过上面的提示,可以看出:你接下来的操作将会安装的软件包括php-common,php7.0,php7.0-cli,php7.0-common,php7.0-fpm,php7.0-json,php7.0-opcache,php7.0-readline。然后它还会建议你安装php-pear。
如果你还有其它要安装的php扩展库可以用同样的方法随时添加。如常用的mysql扩展、mysqli扩展、PDO扩展、curl扩展、GD2等。
此时,还是无法解析php网页的,因为没有安装apache的php解析模块。
3、查看安装版本
php -v
通过php -v能够查看到你的php版本也说明你的php已经安装好了。
4、安装libapache-mod-php
libapache-mod-php为apache下的php解析模块,只有安装了该模块都能用apache正常地解析php程序。
sudo apt-get install libapache2-mod-php7.0
到这一步你的php已经安装完了,如果你的apache也一样是使用apt的方法安装的,那么此时你已经可以正常的访问你的php文件了,因为你安装libapache2-mod-php7.0时,系统会同时在apache的相关目录自动生成相关php模块的配置与文件。
下面我们就来测试一下吧。
测试
1、新建index.php
在你的apache根目录下新建一个index.php文件:
<?php
echo 'hi Bug !';
phpinfo();
?>
2、测试访问
在浏览器上访问你刚刚新建的php文件,能看到上面的页面则说明你的apache与php已正确配置,并正常运行着。
从上面页面的信息还可以看出你的php的配置文件位于哪个文件夹,也还有很多其它的配置信息可以查看到。
如:apache重启的时候,php都会重新扫描以下的所有配置文件,主要是一些常规配置以及扩展配置。
其它
1、关于mysql扩展
从PHP5.0开始就不推荐使用mysql扩展的函数了,到了php7.0则直接废弃了该扩展的支持,而建议使用的扩展函数则为mysqli和PDO.
安装mysql相关扩展:
sudo apt-get install php7.0-mysql
从上面,大家可以看到,当你在安装php7.0-mysql时,已经自动创建了mysqlnd、mysqli、pdo_mysql扩展,所以在php7中mysql的相关扩展也是非常简单的。
2、开启错误提示
php7.0默认安装的时候是关闭错误提示的,所以我们需要手动修改打开
打开/etc/php/7.0/apache2/php.ini文件,搜索display_errors,修改如下
display_errors = On
3、关于php扩展
在Ubuntu的环境下,php7加载扩展的配置会与windows的不太一样。
在windows中,扩展的开启是在php.ini文件中,把如下图的相关扩展前面的“ ; ”注释掉就行。
但是在linux中,你会发现这个文件的所有扩展都是被注释掉的,而且当你安装好的相关扩展的时候,并没有去修改这个文件,你的扩展也已经能够正常使用。
如果你有认真阅读上文的话,你应该已经发现其实在linux的环境中,php7的模块配置文件是位于/etc/php/7.0/apache2/conf.d/目录下,而且每个扩展都会有一个单独的配置文件,文件内容如:
所以并不需要你去php.ini里面进行配置,这里特别这点拿出来讲,主要是为了那些用惯了windows环境的人一直找不到所以然。
5、安装xdebug扩展
sudo apt-get install php-xdebug
安装好了后 php -v 如果出现如下 表示已经安装好了:
然后重启apache。
这时你可以在phpinfo()函数上打印出如下信息,则说明xdebug已经可以正常使用了。
测试如下:
— —《完》