Linux 搭建LNMP(PHP5.6和PHP7)内容主要来自网上他人

该内容主要来自鲁玉成云的随笔,出自http://www.cnblogs.com/luyucheng/p/6084735.htmlphp

 

./configure --prefix=/usr/local/servers/php7 \(因为要用时使用PHP7和PHP5.6,故而给PHP7指定了目录)
--with-config-file-path=/usr/local/servers/php7/etc \
--with-mysqli \
--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-mcrypt \
--with-mhash \
--with-iconv \
--with-xmlrpc \
--with-gettext \
--with-jpeg-dir \
--with-freetype-dir \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--without-gdbm \
--without-pear \
--disable-debug \
--disable-rpath \html

//--with-iconv=/usr/local/libiconv \  (按照博主的configure一直不成功,报undefined reference to `libiconv_open'这样的错,故而先按照https://www.cnblogs.com/52php/p/6197428.html 这个先编译了 libiconv
--disable-fileinfomysql

事实上libconv编译成功以后仍然报错,又找到一个解决办法,https://blog.csdn.net/ikscher/article/details/51009584#replynginx

回到 cd /usr/local/src/php7- sql

在执行完 ./configure ... 以后,修改下 Makefile,(找不到Makefile 能够用ls看下 而后vim Makefile)找到其中的EXTRA_LIBS 在后面添加 -liconvvim

EXTRA_LIBS -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto api

-lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2-lz -lm -lcrypt  -liconv
session

 

----PHP5.6-----php7

./configure --prefix=/usr/local/servers/php \
--with-config-file-path=local/servers/php/etc
--with-mysql \
--with-mysqli \
--with-iconv-dir \
--with-zlib \
--with-zlib-dir \
--with-libxml-dir \
--enable-xml \
--with-curl \
--enable-dba \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-pdo-mysql \
--without-pdo-sqlite \
--with-mcrypt \
--with-mhash \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-libdir=/usr/lib64 \
--with-jpeg-dir=/usr/lib64 \
--with-freetype-dir=/usr/lib64 \
--with-png-dir=/usr/lib64 \
--with-iconv-dir=/usr/local/libiconv \
--enable-gd-native-ttf \
--with-gettext \
--enable-pcntl \
--enable-sysvmsg \
--enable-sysvsem \

 

make && make install框架

vim /etc/profile
PATH=/usr/local/mysql/bin:/usr/local/servers/php7/bin:$PATH(/usr/local/servers/php7/bin:加入环境变量)

PHP5.6的编译使用了同上的configure (注意修改--prefix=/usr/local/servers/php \ --exec-prefix=/usr/local/servers/php \ 目录以做区别)

 

mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf 
PHP7时这些命令均修改为(注意其余条命令目录)
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.confcp /usr/local/src/php-7.1.3/sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm(只需将/etc/init.d/目录下的改为php7-fpm以做区分)chmod +x /etc/init.d/php7-fpmchkconfig --add php7-fpmchkconfig php7-fpm on./sbin/nginx -s reload(重启)vim /usr/local/nginx/conf/nginx.conf (i 插入)server{    listen 80;    server_name localhost;    index index.php index.html index.htm;    root  /home/wwwroot/zpdydhl;    charset utf-8;        location ~* \.php$ {                fastcgi_pass 127.0.0.1:9000;                fastcgi_index index.php;                include fastcgi_params;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                fastcgi_intercept_errors on;        }  #  access_log  /home/wwwlogs/access.log  access;}server{    listen 8098;    server_name localhost;    index index.php index.html index.htm;    root  /home/wwwroot/zpdydhl_api;    location / {        if (!-e $request_filename) {            rewrite ^(.*)$ /index.php?s=$1 last;            break;           }        }    location ~ .*\.php$ {    fastcgi_pass 127.0.0.1:9001;(vim /usr/local/php7/etc/php-fpm.d/www.conf 将listen改成9001,重启./sbin/php-fpm)        fastcgi_index index.php;        include fastcgi_params;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        fastcgi_intercept_errors on;    }        access_log  /home/wwwlogs/access.log  access;}esc键 :wq(保存并退出)/etc/init.d/php-fpm start/etc/init.d/php-fpm stop/etc/init.d/php-fpm restart/etc/init.d/php-fpm reloadlsof -i:9000PHP7若是是yaf框架还要安装yaf扩展以及yaconf扩展http://pecl.php.net/package/yaconf http://pecl.php.net/package/yaf
相关文章
相关标签/搜索