wget http://cn2.php.net/distributions/php-7.0.3.tar.bz2
tar -jxf php-7.0.3.tar.bz2
报错
tar: bzip2:无法 exec: 没有那个文件或目录
tar: 错误是不可恢复的:现在退出
tar: Child returned status 2
tar: Error exit delayed from previous error
bzip2程序没有安装
yum install bzip2
安装完成,再执行 tar -jxf php-7.0.3.tar.bz2成功
cd php-7.0.3
配置环境
首先查看安装帮助
# ./configure --help
# ./configure --prefix=/usr/local/php \
--with-curl \
--with-freetype-dir \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
报错configure: error: xml2-config not found. Please check your libxml2 installation.
这个是由于缺少libxml2包的原因,使用sudo yum install libxml2 执行后,安装了libxml2包,结果还是提示这个错误,执行rpm -qa|grep libxml2,发现是有libxml2的包的,后来发现,其实需要的是libxml2-devel 包,所以,正确的解决办法是,安装libxml2-devel包,执行 sudo yum install libxml2-devel
即可。
继续configure
Cannot find OpenSSL's <evp.h>
解决
yum install openssl openssl-devel
再configure
现象:configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决办法:yum install -y libxslt libxslt-devel libxml2 libxml2-devel
关于 xsl 的编译参数:./configure –with-xsl
成功 make&&make install
php中已经自带php-fpm fastcgi管理程序
配置文件地址:
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
默认文件
/usr/share/nginx/html
/执行路径
/usr/sbin/nginx
将服务加入开机启动中
echo '/usr/local/php/sbin/php-fpm'>>/etc/rc.d/rc.local
echo '/usr/sbin/nginx'>>/etc/rc.d/rc.local
启动服务
/usr/local/php/sbin/php-fpm
/usr/sbin/nginx
发现出现html文件能正常访问
但是php文件就提示找不到 文件 file not found
default.conf文件配置
需要修改/usr/share/nginx/scripts目录下
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/scripts$fastcgi_script_name;
include fastcgi_params;
}
再次访问、ok
添加服务自启动、rc.local,发现重启后,nginx和php-fpm并没有启动
查资料后发现,
rc.local 的没有执行权限、添加权限后正常了