据了解,php7是比之前的版本性能快很多的。http://php.net/get/php-7.2.2.tar.gz/from/a/mirror
安装前也可提前将相关依赖库安装好,或者在安装php时若安装失败,按照提示安装好所需要的依赖库即可。
安装Php
apt-get 一键安装
1 | sudo apt-get update |
2 | sudo apt-get install php |
手动编译安装
1 | # 下载最新版本 |
2 | wget http://php.net/distributions/php-7.2.2.tar.gz |
3 | # 解压 |
4 | tar -zxvf php-7.2.2.tar.gz |
5 | # 进入解压目录 |
6 | cd php-7.2.2 |
7 | # 配置 |
8 | sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm |
9 | # 编译php |
10 | sudo make |
11 | #安装php |
12 | sudo make install |
13 | # 修改配置文件 |
14 | cd /usr/local/php/etc |
15 | sudo cp php-fpm.conf.default php-fpm.conf |
16 | cd /usr/local/php/etc/php-fpm.d |
17 | sudo cp www.conf.default www.conf |
18 | # 修改www.conf中的所属用户组及用户 |
19 | user=www |
20 | group=www |
21 | # 注意: 如果www用户不存在,则先添加用户www用户 |
22 | sudo groupadd www |
23 | sudo useradd -g www www |
24 | # 查看php-fpm进程 |
25 | ps -ef|grep php-fpm |
26 | # 配置php-fpm开机自启动 |
27 | sudo /usr/sbin/chkconfig php-fpm on |
注意:以上sudo可加可不加,仅在权限不足时临时获得根用户权限。可查看Ubuntu下安装LNMP之nginx的安装
当使用chkconfig时,ubuntu会提示“找不到该命令”,此时可参考Ubuntu 14.04 安装 chkconfig 服务管理程序
php-fpm常用命令
启动php-fpm
1 | sudo /usr/local/php/sbin/php-fpm |
2 | 注意:若是已经将php-fpm加入系统服务,可不用输入那么长的地址,具体步骤后续讨论,和shell相关。 |
停止php-fpm
1 | sudo pkill php-fpm |
查看Php版本
1 | sudo /usr/local/php/sbin/php -v |
2 |
PHP 7.2.2 (cli) (built: Feb 22 2018 15:43:13) ( NTS ) |
配置Nginx支持php(基础配置)
找到如下内容:
location / {
root html;
index index.html index.htm index.php; #(在其后加上index.php)
}
然后再找到如下内容:
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
将其前面#删除,即解除注释,并将/scripts更改为$document_root
$document_root 代表当前请求在root指令中指定的值
也可将root目录更改到你想要的目录
此时,在html中新建文件,index.php,输入如下内容:
<?php
phpinfo();
然后在浏览器中输入http://127.0.0.1/index.php。如果出现php的信息即配置正确。
卸载php
卸载其实相当容易,只要记住在Linux中,一切皆文件即可。所以,我们可以像在windows上删除快捷方式那样直接找到安装php的目录将其删除即可。例如,我安装的目录是/usr/local/php,只要将该目录删除,并kill掉当前运行的php-fpm进程即可。
安装过程中遇到的问题
.configure进行编译时,提示 error: xml2-config not found. Please check your libxml2 installation.
这是由于系统缺少PHP所需的库文件导致的,根据提示,进行如下操作:
sudo apt-get install libxml2(按Tab键)
将会看到如下信息:
libxml2 libxml2-dev libxml2-headers libxml2-utils
这里需要安装的是libxml2-dev软件包,操作如下:
sudo apt-get install libxml2-dev
库文件安装完成后,重新配置PHP
相关说明:
fmp的配置文件是xml格式的,用了libxml对配置文件进行解析,所以需要安装libxml2的开发文件;
一般这种命名规则: lib, lib-dev, 前一个是程序运行时需要的库, 后一个是编译源码时需要的库.