Linux安装php7流程概要

准备工作:
使用yum安装可能需要的软件:
yum install openssl openssl-devel readline readline-devel libxslt-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libxslt libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel pcre-devel
yum -y install gcc-c++
=======================================================
1 进入php下载页: http://php.net/downloads.php
2 选择要下载的版本。

php-download.png

php-down2.png

3 进入自定义目录,使用wget下载

wget -O php7.tar.gz http://cn2.php.net/get/php-7.0.31.tar.gz/from/this/mirror

4 解压获取源代码

tar -xvf php7.tar.gz

5 进入解压后的目录: cd php-7.0.31,并执行配置命令(如果是重新编译先执行 make clean):

[第二行 /apps/php 是指定您要安装php的路径]

./configure \
--prefix=/apps/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--enable-pcntl \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache \
--enable-maintainer-zts 

6 执行命令

make && make install

7 如果出现类似以下错误:
undefined reference to `libiconv_open'
ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
执行

ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/
make ZEND_EXTRA_LIBS='-liconv' 

8 配置环境变量
vi /etc/profile
在文件末尾追加:

PATH=$PATH:/apps/php/bin
export PATH

执行 source /etc/profile 使配置生效。
输入 php -v ,如果安装成功将出现版本信息。

9
进入php源码包,执行
cp php.ini-production /etc/php.ini
进入 php安装路径,复制配置文件

  cd /apps/php/etc
  cp php-fpm.conf.default  php-fpm.conf
  cd php-fpm.d/
  cp www.conf.default www.conf

10 查看www.conf,如果默认配置项为
user = nginx
group = nginx
,则 创建用户与用户组并授权nginx文件夹

groupadd nginx
useradd -g nginx nginx
chown -R nginx:nginx /apps/nginx

11 启动php-fpm
进入php源码包,执行

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
/etc/init.d/php-fpm start

输入 ps -ef|grep php-fpm 查看php-fpm进程。

=================================================
nginx安装
1 进入 http://nginx.org/download/,选择合适的nginx版本
2 下载源码 wget http://nginx.org/download/nginx-1.6.3.tar.gz
3 解压 tar -zxvf nginx-1.6.3.tar.gz
4 进入解压只有的目录,执行命令:

./configure --prefix=/apps/nginx \
--with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre

[/apps/nginx是nginx的自定义安装路径]
5 执行 make && make install
6 进入nginx安装目录下的sbin目录,执行./nginx -t
如果报错提示缺失权限,给 /apps/nginx赋权限,
执行 chmod -R 777 /apps/nginx,然后重新进入sbin目录下执行
./nginx -t,出现成功的提示即可。

====================================================
nginx 配置php

1 修改nginx/conf/nginx.conf
server配置项参考:

server {
    server_name  localhost;
    listen 80;
    root /apps/www/;
    index index.php;

    try_files $uri $uri/ /index.php?s=$uri&$args;

    location ~ \.php(.*)$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED $document_root$fastcgi_path_info;
        include        fastcgi_params;
  }
}

2 重启nginx /apps/nginx/sbin/nginx -s reload

3 如果设置开机自启动:
1 /etc/init.d/目录下创建nignx和php-fpm对应的脚本
2 chkconfig --add /etc/init.d/nginx
3 chkconfig --add /etc/init.d/php-fpm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容