对于lnmp或lnmp中必不可少的一个重要环节,php的安装部署是必不可少的,网上也搜的到一堆安装部署的文档,
但是感觉好多参数不全,当初刚接触着手的时候,也是参照网上的部署文档,但是跑起来不是这个报错,就是那个报错,
下面就给大家写上一篇自己线上可跑可调的php部署方式。
- php=php-5.5.7
- 去官网下载自己所需的php版本,我这里用的是5.5
- PHP官网地址:http://php.net/
编译之前还要安装一些依赖包和库文件
Centos的话:
yum -y install libtool autoconf patch fiex* libxml2 libxml2-devel ncurses ncurses-devel libtool-ltdl-devel libtool-ltdl libmcrypt libmcrypt-devel freetype-devel libpng libpng-devel libjpeg-devel libaio*
ubuntu:
apt-get -y install libmcrypt-dev build-essential libncurses5-dev libfreetype6-dev libxml2-dev libssl-dev libjpeg62-dev libpng12-dev libfreetype6-dev libsasl2-dev autoconf libperl-dev libtool libaio*
解压:
tar zxvf php-5.5.7
./configure --prefix=/data
/php \
--with-config-file-path=/alidata/php/etc \
--with-apxs2=/alidata/httpd/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-static \
--enable-maintainer-zts \
--enable-zend-multibyte \
--enable-inline-optimization \
--enable-sockets \
--enable-wddx \
--enable-zip \
--enable-calendar \
--enable-bcmath \
--enable-soap \
--with-zlib \
--with-iconv \
--with-gd \
--with-xmlrpc \
--enable-mbstring \
--without-sqlite \
--with-curl \
--enable-ftp \
--with-mcrypt \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--disable-ipv6 \
--disable-debug \
--disable-maintainer-zts \
--disable-safe-mode \
--disable-fileinfo
--with-config-file-path=/alidata/php/etc \
--with-apxs2=/alidata/httpd/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-static \
--enable-maintainer-zts \
--enable-zend-multibyte \
--enable-inline-optimization \
--enable-sockets \
--enable-wddx \
--enable-zip \
--enable-calendar \
--enable-bcmath \
--enable-soap \
--with-zlib \
--with-iconv \
--with-gd \
--with-xmlrpc \
--enable-mbstring \
--without-sqlite \
--with-curl \
--enable-ftp \
--with-mcrypt \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--disable-ipv6 \
--disable-debug \
--disable-maintainer-zts \
--disable-safe-mode \
--disable-fileinfo
这些参数也不必一一解释了,有想了解的可以--help或者网上搜索一下
cat /proc/cpuinfo | grep processor | wc -l 查看物理cpu个数
make ZEND_EXTRA_LIBS='-liconv' -j个数 可以加快编译速度
make install
cp ./php.ini-production /alidata/php/etc/php.ini
根据服务需要调整PHP的参数
sed -i 's/post_max_size = 8M/post_max_size = 64M/g' /data/php/etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 64M/g' /data/php/etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /data/php/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/g' /data/php/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /data/php/etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 64M/g' /data/php/etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /data/php/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/g' /data/php/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /data/php/etc/php.ini
echo "export PATH=\$PATH:/data/php/bin:/alidata/php/sbin" >> /etc/profile 声明
source /etc/profile
然后自己再写个phpinfo,启动服务httpd服务,浏览器访问,检查是否能成功访问。
结束!