PHP语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快的效果。
服务器环境
官方下载
http://php.net/get/php-7.2.16.tar.gz/from/a/mirror
http://cn2.php.net/distributions/php-7.2.16.tar.gz
[root@VM_159_140_centos ~]# wget http://cn2.php.net/distributions/php-7.2.16.tar.gz
解压
[root@VM_159_140_centos lnmp]# tar -xzxvf php-7.2.16.tar.gz
进入目录
[root@VM_159_140_centos lnmp]# cd php-7.2.16/
更新系统
yum install epel-release -y
yum update
扩展根据错误提示安装扩展包
王志强:php编译错误总结zhuanlan.zhihu.com配置
[root@VM_159_140_centos php-7.2.16]# ./configure --prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--with-bz2
--with-curl
--enable-filter
--enable-fpm
--with-gd
--enable-intl
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-openssl
--with-zlib
--with-freetype-dir
--disable-phpdbg
--disable-phpdbg-webhelper
--enable-opcache
--enable-simplexml
--enable-xmlreader
--enable-xmlwriter
--enable-zip
--enable-soap
--enable-shmop
--enable-sockets
--enable-sysvmsg
--enable-bcmath
--enable-mbstring
--enable-mysqlnd
–prefix选项就是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share
为了便于集中管理某个软件的各种文件,可以配置–prefix,如:
./configure –prefix=/usr/local/php
安装
[root@VM_159_140_centos php-7.2.16]# make && make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing phpdbg binary: /usr/local/php/bin/
Installing phpdbg man page: /usr/local/php/php/man/man1/
Installing PHP CGI binary: /usr/local/php/bin/
Installing PHP CGI man page: /usr/local/php/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
配置PHP
[root@VM_159_140_centos php-7.2.16]#cp php.ini-development /usr/local/php/etc/php.ini
[root@VM_159_140_centos php-7.2.16]#cp sapi/fpm/www.conf /usr/local/php/etc/php-fpm.d/www.conf
[root@VM_159_140_centos php-7.2.16]#cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php–fpm.conf
配置php-fpm服务
[root@VM_159_140_centos php-7.2.16]# vi /usr/local/php/etc/php-fpm.conf
取消pid前面的注释
pid = run/php-fpm.pid
复制文件并增加执行权限
[root@VM_159_140_centos php-7.2.16]# cp sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm
修改/etc/init.d/php-fpm
文件
[root@VM_159_140_centos php-7.2.16]# vi /etc/init.d/php-fpm
修改成绝对路径
php_fpm_BIN=/usr/local/php/sbin/php-fpm
php_fpm_CONF=/usr/local/php/etc/php-fpm.conf
php_fpm_PID=/usr/local/php/var/run/php-fpm.pid
启动
[root@VM_159_140_centos ~]# chmod +x /etc/init.d/php-fpm
[root@VM_159_140_centos ~]# chkconfig --add php-fpm
[root@VM_159_140_centos ~]# chkconfig php-fpm on
[root@VM_159_140_centos ~]# service php-fpm start
停止
[root@VM_159_140_centos ~]# service php-fpm stop
重启
[root@VM_159_140_centos ~]# service php-fpm restart
将php永久添加环境变量
[root@VM_159_140_centos ~]# vi /etc/profile
最后一行加入
export PATH="/usr/local/php/bin:$PATH"
保存,退出,然后运行:
[root@VM_159_140_centos ~]# source /etc/profile
运行php命令
[root@VM_159_140_centos ~]# php -version
PHP 7.2.16 (cli) (built: Mar 22 2019 00:29:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies