LNMP
准备工作
- PHP 官网地址 : http://www.php.net/
- MySQL 官网地址 : http://www.mysql.com/
- Nginx 官网地址:http://nginx.org/
PHP 安装
- 先安装一些通常来说应该已经有的组件,以防没有可以检查并安装一下
yum -y install gcc automake autoconf libtool make gcc-c++ glibc
- 安装依赖库
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
- 下载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
; - 解压
tar vxf mirror
,会解压为php-7.2.16
文件; - 进入文件安装
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 # 使之生效
- 执行安装
make && make install
; - 配置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
- 创建 用户 和 组
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