下载php包
wget https://www.php.net/distributions/php-7.3.10.tar.gz
解压源码包
tar -xzvf php-7.3.10.tar.gz
cd php-7.3.10/
配置安装所需环境
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
安装位置配置以及启用拓展
./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --with-mysqli --with-pdo-Mysql --with-gd --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-openssl --enable-mbstring --enable-fpm --enable-bcmath
编译并安装
make && make install
配置PHP使用
#拷贝php配置文件
cp php.ini-production /usr/local/php/etc/php.ini
#拷贝php-fpm服务并赋予执行权限
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
#拷贝php-fpm进程服务的配置文件和扩展配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
#配置安装目录(可选)
vi /usr/local/php/etc/php-fpm.conf
#php-fpm.conf最后一行,include的路径要对应于自己的安装目录 shift + g 跳最后一行 ,gg第一行
include=/usr/local/php/etc/php-fpm.d/*.conf
#设置php环境变量
vi /etc/profile.d/php.sh
export PATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/
source /etc/profile.d/php.sh
#设置PHP环境命令快捷方式 php -v
ln -s /usr/local/php/bin/php /usr/bin/php
启动php-fpm
service php-fpm start
#设置php-fpm开机启动
chkconfig php-fpm on
Nginx配置支持PHP
确保启动PHP和NGINX的用户和用户组一致,这样可避免一些访问权限问题
/usr/local/php/etc/php-fpm.d/www.conf 的 user、group
nginx nginx.conf 中的use 使用的用户,一般在该配置文件头
Nginx配置关键
server {
#你的其他配置
…
location / {
root html;
index index.html index.htm index.php; # 加入PHP
}
#配置CGI访问入口
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000; # 或者socks套接字链接,一般在/tmp目录下
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
d
o
c
u
m
e
n
t
r
o
o
t
document_root
documentrootfastcgi_script_name;
include fastcgi_params;
}
}
遇到问题
扩展报错:–with-mysqli --with-curl 重新编译安装
重启
非php自带扩展
wget http://pecl.php.net/get/swoole-1.8.4.tgz
tar zxvf swoole-4.5.2.tgz
cd swoole-4.5.2
/Data/apps/php7/bin/phpize
./configure --with-php-config=/usr/local/service/php/bin/php-config
make && make install
#php.ini 添加
extension=swoole.so
swoole扩展安装swoole.so
woole-1.x需要 PHP-5.3.10 或更高版本
Swoole-2.x需要 PHP-7.0.0 或更高版本
Swoole-4.x需要 PHP-7.1.0 或更高版本