PHP开发入门:PHP7安装部署
**注意:**本文更新于2019-07月,改为最新PHP7版本进行安装。
PHP是常用的Web开发语言,一些常见的Web项目,如CMS/BBS系统都有比较成熟的PHP版本开源方案。本文主要介绍PHP7在Linux(Ubuntu)下的安装。
# 安装依赖包
因为PHP7依赖的第三包比较多,我们就不采用编译安装这些依赖包,直接采用包管理器安装。
sudo apt-get update
sudo apt-get install libxml2-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libmcrypt-dev
sudo apt-get install libreadline6 libreadline6-dev
sudo apt-get install cmake
sudo apt-get install libfreetype6-dev
sudo apt-get install pkg-config
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 安装libzip
# 下载
wget https://libzip.org/download/libzip-1.5.2.tar.gz
# 解压
tar zxvf libzip-1.5.2.tar.gz
cd libzip-1.5.2
# 创建编译目录
mkdir build
cd build
# 构建
cmake ..
# 编译
make -j4
# 安装
sudo make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装PHP
# 下载
wget https://www.php.net/distributions/php-7.3.6.tar.gz
# 解压
tar zxvf php-7.3.6.tar.gz
cd php-7.3.6
# 配置编译参数
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --enable-fpm --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --with-mysql --with-mysqli --with-mysql-sock --enable-pdo --with-pdo-mysql --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --enable-bz2 --with-readline --without-sqlite3 --without-pdo-sqlite --with-pear --with-libdir=/lib/x86_64-linux-gnu --with-gd --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/include/freetype2/freetype/ --enable-xml --disable-fileinfo
# 编译,过程漫长,可以先喝杯咖啡
make
# 安装
sudo make install
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 修改PHP配置文件
在安装PHP时,我们通过./configure --with-config-file-path=/usr/local/php7/etc
指定了配置文件php.ini的目录,但是安装完成之后,在这个目录下并没有php.ini文件,我们需要将php安装包中的php.ini文件复制到这个目录下:
sudo cp php.ini-production /usr/local/php7/etc/php.ini
1
同时,php-fpm.conf文件也不存在,但是在etc目录下存在模板文件,我们需要复制一份,并进行修改:
sudo cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
1
下面是我修改后的php-fpm.conf的内容,可以参考:
[global]
pid = run/php-fpm.pid
[www]
user = www-data
group = www-data
listen = 127.0.0.1:9000
pm.start_servers = 2
slowlog = /usr/local/php7/var/log/$pool.log.slow
request_slowlog_timeout = 2
request_terminate_timeout = 60
pm = static
pm.max_children = 200
pm.start_servers = 30
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# PHP-FPM管理
PHP-FPM是FastCGI的进程管理器, 简单来说Web服务中的PHP处理器,执行PHP程序,将处理结果按照CGI协议返回给Web服务器。
启动PHP-FPM:
/usr/local/php7/sbin/php-fpm
1关闭PHP-FPM:
kill -INT `cat /usr/local/php7/var/run/php-fpm.pid`
1重启PHP-FPM:
kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`
1
上次更新: 2022/12/01, 11:09:34