LNMP架构实现之PHP安装与测试

本片文章使用的php版本为7.3.25,libiconv为1.16
如有需要可前往一下链接下载其他版本
php: http://mirrors.sohu.com/php/
libiconv: http://ftp.gnu.org/pub/gnu/libiconv/

1.下载php的各种组件

1.1 下载php源码包

[root@localhost ~]#  wget http://mirrors.sohu.com/php/php-7.3.5.tar.gz

1.2 下载必要的php库环境

[root@localhost ~]# yum install epel-release -y

[root@localhost ~]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel\
libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y
[root@localhost ~]# yum install libmcrypt-devel -y 
[root@localhost ~]# yum install mhash -y
[root@localhost ~]# yum install mcrypt -y
[root@localhost ~]# yum install openssl openssl-devel -y

报错:No package libiconv-devel available.
yum仓库内没有该软件,将会在1.4中安装

1.3 重点:安装gcc编译器

[root@localhost ~]# yum install gcc -y

没有安装gcc的1.4可能报一下错误

[root@localhost nginx]# ./configure --prefix=/application/tools/libiconv-1.16
configure: error: in `/application/tools/libiconv-1.16':
configure: error: no acceptable C compiler found in $PATH

1.4 安装yum源中没有的libiconv

[root@localhost ~]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
[root@localhost ~]#  tar xf libiconv-1.16.tar.gz 
[root@localhost ~]# cd libiconv-1.16/
[root@localhost ~]# ./configure --prefix=/application/libiconv
  • 编译安装libiconv
  • make && make install

2.安装php主进程

2.1 查看并解压php的二进制包

[root@zhb ~]# ll
total 670796
-rw-------.  1 root root       966 Feb  4 23:28 anaconda-ks.cfg
-rw-r--r--   1 root root   5166734 Feb 21 14:14 libiconv-1.16.tar.gz
-rw-r--r--   1 root root   1039530 Feb 15 21:58 nginx-1.18.0.tar.gz
-rw-r--r--   1 root root  19439026 Feb 21 14:43 php-7.3.5.tar.gz

[root@localhost ~]# tar xf php-7.3.5.tar.gz

2.2 进入php目录并安装php

[root@localhost ~]# cd php-7.3.5                      #这一大长串是编译的部分
[root@localhost php-7.3.5]# ./configure \
--with-fpm-user=www \                   #管理用户与管理组
--with-fpm-group=www \
--prefix=/application/php-7.3.5 \       #php程序安装目录
--enable-mysqlnd  \                     #php指定的数据库
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/application/libiconv \    #额外安装的libiconv组件
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--enable-ftp \
--enable-opcache=no

[root@localhost php-7.3.5]# make && make instal

2.3 做版本管理

[root@localhost php-7.3.5]# ln -s /application/php-7.3.5/ /application/php

2.4 php管理用户创建并授权管理

#php管理用户与nginx保持一致

[root@localhost ~]# useradd www -s /sbin/nologin -M
[root@localhost ~]# chown www.www /application/php/ -R

3.配置php

3.1 选择配置文件复制到指定位置

#php.ini文件配置
cp -p /root/php-7.3.5/php.ini-development /application/php-7.3.5/lib/php.ini
#php-fpm.conf文件配置
cp /application/php-7.3.5/etc/php-fpm.conf.default /application/php-7.3.5/etc/php-fpm.conf
#www.conf文件配置
cp /application/php-7.3.5/etc/php-fpm.d/www.conf.default /application/php-7.3.5/etc/php-fpm.d/www.conf

3.2 启动与开机自启动php

#启动nginx
[root@localhost php-7.3.5]# /application/nginx/sbin/nginx
#启动php
[root@localhost php-7.3.5]# /application/php/sbin/php-fpm
#检查启动状态
[root@localhost php-7.3.5]# netstat -lntup | grep php-fpm
tcp   0   0   127.0.0.1:9000    0.0.0.0:*    LISTEN    16946/php-fpm: mast 
#设置开机自启
[root@localhost php-7.3.5]# echo '/application/php/sbin/php-fpm' >> /etc/rc.local
[root@localhost php-7.3.5]# chmod +x /etc/rc.local

3.3 为php命令设置环境变量

php作为一个后台服务,不需要环境变量
如果需要使用下面方法添加:

[root@localhost ~]# echo "PATH=/application/php/bin/php:$PATH" > /etc/profile
[root@localhost ~]# . /etc/profile

==== => 到此php已经安装完成,向下都是测试的环节 <======

4.上线网页(nginx与php联动部分)

4.1 开发编写网页

例:<?php phpinfo(); ?>\
     ==php测试网页==

4.2 测试网页是否正常

[root@localhost ~]# /application/php/bin/php /application/script/wangye.php

4.3 将动态网页交由php处理

一旦nginx检测到php结尾的uri,交由php-fpm处理
[root@localhost ~]# vim /application/nginx/conf/nginx.conf

location ~ .*\.(php|php5)?$ {
            root html/blog;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    }

4.4 mysql连接测试

脚本:

<?php
//$link_id=mysqli_connect('主机名','用户','密码');
	$link_id=mysqli_connect('localhost','root','000000') or mysql_error();
	if($link_id){
		echo "mysql successful by shuaibi.\n";
	}else{
		echo mysql_error();
	}
?>

测试:

[root@zhb nginx]# /application/php/bin/php /application/script/mysqltest.php 
mysql successful by shuaibi.

结尾附上php主要配置文件路径

/application/php/lib/php.ini php解析器配置文件
/application/php/bin/php php二进制命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值