将之前放在OneNote上的笔记放到博客中,如有错误还请指出
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
上面的命令并没有成功安装libmcrypt,需要手动下载安装
wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
解压进入
./configure
make && make install
下载并解压源码包后进入解压后的文件夹
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt=/usr/include \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache
make -j2
mkae install
安装完成之后可以看到在etc文件夹里并没有php.ini ,于是从PHP的源码包里复制过来
进入刚才下载解压的源码包
cp php.ini-development /usr/local/php7/etc/php.ini #这里采用开发模式的php.ini,还有一个产品模式的配置文件
将etc文件夹里的默认php-fpm.conf.default改为php-fpm.conf
cd /usr/local/php7/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
进入PHP的源码目录,将php-fpm设置为可以使用service重启关闭等操作
cd /usr/local/src/php-7.1.16/sapi/fpm
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm #赋予所有用户执行的权限
chkconfig --add php-fpm #作为一项新的系统服务添加
chkconfig php-fpm on #设置php-fpm在2、3、4、5等级下可用,详情搜索chkconfig用法
然后就可以执行service php-fpm start运行fpm了
ps -ef | grep php-fpm #检查php-fpm是否已经运行
将客户端通过80端口发给nginx的请求转发给php-fpm(默认9000端口),让php-fpm处理执行php,fpm再将结果返回给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 /script$fastcgi_script_name;
# include fastcgi_params;
#}
=》
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;
}
然后重新载入nginx
/usr/local/nginx/nginx -s reload
在nginx的网站根目录下编写PHP文件 就可以访问了