zl程序教程

您现在的位置是:首页 >  系统

当前栏目

CentOS 6.8 源码安装 PHP7

2023-09-14 09:16:40 时间

1、下载mcrypt (先要安装libmcrypt mhash)

cd /usr/local/src

#分别下载更改对应的名称
#libmcrypt-2.5.8.tar.gz
https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download

#mhash-0.9.9.9.tar.gz
https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz/download

#mcrypt-2.6.8.tar.gz
https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download

2、安装mcrypt

#安装Libmcrypt
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install #默认装在 /usr/local/lib

#安装mhash
tar -zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install #默认装在 /usr/local/lib

#安装mcrypt
tar -zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8

#临时加入环境系统变量
export LD_LIBRARY_PATH=/usr/local/lib 
./configure
make && make install

下载php

cd /usr/local/src
wget https://www.php.net/distributions/php-7.0.7.tar.gz
tar -zxvf php-7.0.7.tar.gz
cd php-7.0.7

#安装依赖包

yum -y install gcc g++ libxml2 libxml2-devel openssl openssl-devel \
curl curl-devel libjpeg libjpeg-devel libpng libpng-devel \
freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel

配置

./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mcrypt \
--enable-fpm \
--enable-ftp \
--enable-xml \
--enable-zip \
--enable-soap \
--enable-pcntl \
--enable-shmop \
--enable-bcmath \
--enable-shared \
--enable-mysqlnd \
--enable-opcache \
--enable-session \
--enable-sockets \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-gd-native-ttf \
--enable-inline-optimization \
--with-gd \
--with-curl \
--with-zlib \
--with-mhash \
--with-iconv \
--with-xmlrpc \
--with-gettext \
--with-jpeg-dir \
--with-freetype-dir \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--without-gdbm \
--without-pear

编译安装

make && make install

相关设置

#复制php配置文件到安装目录
cp php.ini-development /usr/local/php/etc/php.ini 

#复制启动配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf  

#复制php-fpm到开机启动
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm7
chmod +x /etc/init.d/php-fpm7 #增加权限
chkconfig php-fpm on #增加开机启动
service php-fpm start #启动php

配置php.ini php.ini是php运行核心配置文件:

#避免PHP信息暴露在http头中
expose_php = Off

#避免暴露php调用mysql的错误信息
display_errors = Off

#在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On

#设置PHP的扩展库路径
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20141001/"

#设置PHP的时区
date.timezone = PRC

配置文件php-fpm.conf php-fpm.conf是 php-fpm 进程服务的配置文件:

#设置错误日志的路径
error_log = /var/log/php-fpm/error.log

#引入www.conf文件中的配置
include=/usr/local/php7/etc/php-fpm.d/*.conf

配置www.conf(在php-fpm.d目录下)www.conf这是 php-fpm 进程服务的扩展配置文件:

#设置用户和用户组
user = www
group = www

#使用sock监听需开启
isten.owner = www
listen.group = www
listen.mode = 0660

#开启慢日志
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s

修改Nginx配置文件

vi /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}