Linux下php7.0.6+nginx环境编译安装

开看linux服务器 是否开启了防火墙 可以先关闭防火墙
(1): service iptables stop 


 设置防火墙参考博客:http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html


1:nginx 
 安装c c++编译器 yum install -y gcc gcc-c++
  
 需要下载prce用来支持nginx 伪静态
 下载地址:https://sourceforge.net/projects/pcre/files/pcre/
 或者:yum install pcre-devel zlib-devel openssl-devel  


2:安装php
 php 推荐使用mysqlnd链接mysql数据库 编译之前 并不需要安装mysql数据库


 ./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  加上即可


 依赖包
 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel


./configure --prefix=/usr/local/php  --with-freetype-dir --with-gd --with-curl --with-openssl  --with-zlib --enable-libxml --enable-xml  --enable-zip --enable-opcache --enable-sysvsem --enable-mbstring --enable-mysqlnd  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --with-fpm-user=www --with-fpm-group=www


默认编译的配置文件是:/usr/local/php/lib/php.ini

如果你想更改php.ini的位置 只需要加上:--with-config-file-path=/usr/local/php/etc/ 就行了


make && make install


配置php
 复制配置文件
   #cp php.ini-development /usr/local/php/lib/php.ini
   #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
 
 启动php-fpm
  /usr/local/php/sbin/php-fpm

 也可以加上配置文件路径:/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

 停止php-fpm pkill php 


 简单配置nginx
   vi /usr/local/nginx/conf/nginx.conf
     
   找到server 中修改一下
       location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
 然后在  root   /usr/local/www;  自己设定一下项目的目录

 然后建立一个 index.php 

配置php.ini

1:配置 php模块加载路径

   extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012"

2:启用opcache

  zend_extension=opcache.so
 opcache.enable=1
 opcache.enable_cli=1
 opcache.file_cache=/tmp

3:安装redis扩展

wget -c https://github.com/phpredis/phpredis/archive/php7.zip
unzip php7.zip


cd phpredis-php7
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
cd ..


/usr/local/php/etc/php.ini
中加入
extension=redis.so


编译的时候问题解决:

  undefined reference to `libiconv_open'  undefined reference to `libiconv'

解决方法:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar -zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/libiconv
make
make install

再检查php,指定 iconv的位置  --with-iconv=/usr/local/libiconv

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章