LNMP环境搭建:PHP编译安装

LNMP

准备工作

  1. PHP 官网地址 : http://www.php.net/
  2. MySQL 官网地址 : http://www.mysql.com/
  3. Nginx 官网地址:http://nginx.org/
PHP 安装
  1. 先安装一些通常来说应该已经有的组件,以防没有可以检查并安装一下
yum -y install gcc automake autoconf libtool make gcc-c++ glibc
  1. 安装依赖库
yum -y install libmcrypt-devel mhash-devel libxslt-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel

若有错误 yum [Errno 256] No more mirrors to try 解决方法 输入下面的命令即可解决问题:

yum clean all
  1. 下载PHP安装包 wget http://cn2.php.net/get/php-7.2.16.tar.gz/from/this/mirror或者
    wget -O php7.tar.gz https://www.php.net/distributions/php-7.3.10.tar.bz2;
  2. 解压 tar vxf mirror,会解压为 php-7.2.16文件;
  3. 进入文件安装 cd php-7.2.16 执行:
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php \
--enable-sockets \
--enable-fpm \
--enable-mbstring \
--enable-pcntl \
--enable-soap \
--enable-opcache \
--disable-fileinfo \
--with-openssl  \
--with-curl \
--with-mhash \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--enable-zip \
--with-zlib \
--enable-simplexml \
--with-libxml-dir \
--disable-debug  \
--enable-inline-optimization \
--with-bz2  \
--enable-sysvsem \
--enable-sysvshm \
--enable-mbregex \
--with-pcre-regex \
--with-mysqli \
--with-pdo-mysql 

--prefix=/usr/local/php7 # 配置安装目录
--with-config-file-path=/usr/local/php7 # 配置文件 php.ini 的路径
--enable-sockets # 开启 socket 
--enable-fpm # 启用 fpm 扩展
--enable-cli # 启用 命令行模式 (从 php 4.3.0 之后这个模块默认开启所以可以不用再加此命令)
--enable-mbstring # 启用 mbstring 库
--enable-pcntl # 启用 pcntl (仅 CLI / CGI)
--enable-soap # 启用 soap 
--enable-opcache # 开启 opcache 缓存
--disable-fileinfo # 禁用 fileinfo (由于 5.3+ 之后已经不再持续维护了,但默认是开启的,所以还是禁止了吧)(1G以下内存服务器直接关了吧)
--disable-rpath  #禁用在搜索路径中传递其他运行库。
--with-mysqli # 启用 mysqli 扩展
--with-pdo-mysql # 启用 pdo 扩展
--with-iconv-dir # 启用 XMLRPC-EPI 字符编码转换 扩展
--with-openssl # 启用 openssl 扩展 (需要 openssl openssl-devel)
--with-fpm-user=www #设定 fpm 所属的用户 
--with-fpm-group=www #设定 fpm 所属的组别
--with-curl # 启用 curl 扩展
--with-mhash # 开启 mhash 基于离散数学原理的不可逆向的php加密方式扩展库
# GD
--with-gd # 启用 GD 图片操作 扩展
--with-jpeg-dir # 开启对 jpeg 图片的支持 (需要 libjpeg)
--with-png-dir # 开启对 png 图片支持 (需要 libpng)
--with-freetype-dir # 开启 freetype 
# 压缩
--enable-zip # 启用 zip
--with-zlib # 启用对 zlib 支持 
# xml
--enable-simplexml # 启用对 simplexml 支持
--with-libxml-dir # 启用对 libxml2 支持

如果出现报错 先删除(那个扩展报错删除那个),后续在装扩展;

错误 : cc: Internal error: Killed (program cc1)内存不足,临时使用交换分区来解决吧
free -m
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
#编译完成,可以取消交换分区
sudo swapoff /swapfile
sudo rm /swapfile
free -m

7.3 错误:configure: error: off_t undefined;checkyour library configuration

vim /etc/ld.so.conf 
#添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64 
#保存退出
:wq
ldconfig -v # 使之生效
  1. 执行安装 make && make install;
  2. 配置php-fpm
    7.1 从解压文件中复制php.ini配置文件
cd /dowload/php-7.3.9

cp php.ini-production /usr/local/php/php.ini

7.2 从解压文件中复制启动脚本

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

7.3 修改配置文件

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf   # 去掉pid = run/php-fpm.pid前面的分号。:wq! 保存并退出。

cd php-fpm.d
cp www.conf.default www.conf

  1. 创建 用户 和 组
groupadd www
useradd www

/etc/init.d/php-fpm start       #php-fpm启动命令
/etc/init.d/php-fpm stop        #php-fpm停止命令
/etc/init.d/php-fpm restart     #php-fpm重启命令
ps -ef | grep php               #查看是否已经成功启动PHP

测试 /usr/local/php/bin/php phpinfo.php输出php相关就OK


最后打个广告:

Crmeb多商户版是基于ThinkPhp6+ swoole4+uniapp 开发的一套CRMEB新零售多商户商城系统。集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号、小程序、wap、pc等,实现会员管理、数据分析,精准营销的电子商务管理系统。可满足企业新零售、批发、分销、预约、O2O、多店、商铺入驻等各种业务需求。

演示站 : http://github.crmeb.net/u/xian 账号:demo 密码:crmeb.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值