以此来列出背景知识 本文基于Centos 7操作系统(Fedora, Redhat及类似系统)

一、背景知识yumrpmwgetlnvimsystemctl.bash_profileRed Hat Enterprise Linux 7 缩写 rhel_7 ([捂脸])Extra Packages for Enterprise Linux (or EPEL)

Linux的yum

yum( Yellow dog Updater, Modified) 大黄狗,哈哈。
是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的做事器自动下载 RPM 包然后安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 供应了查找、安装、删除某一个、一组乃至全部软件包的命令,而且命令简洁而又好记。

php72w干了10多年的php还不会安装是不是丢人 HTML

如CentOS系统内置的yum源中,没有想要的安装包。
可额外添加yum源。
比较常用yum源,epel 和 remi 。

添加yum源,都会在/etc/yum.repos.d/文件夹中添加有相应的.repo文件

1、安装 EPEL 源。
yum install epel-release epel-release这一软件包被包括在 CentOS 的 Extras 仓库中,安装后EPEL源已默认启用epel仓库。

哈哈,我也是搬过来的fedoraproject.org/wiki/EPEL/zh-cn

什么是企业版 Linux 附加软件包(EPEL)

企业版 Linux 附加软件包(以下简称 EPEL)是一个 Fedora 特殊兴趣小组,用以创建、掩护以及管理针对企业版 Linux 的一个高质量附加软件包集,面向的工具包括但不限于 红帽企业版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。

EPEL 的软件包常日不会与企业版 Linux 官方源中的软件包发生冲突,或者相互更换文件。
EPEL 项目与 Fedora 基本同等,包含完全的构建系统、升级管理器、镜像管理器等等。

我可以相信这些软件包吗?

EPEL 项目致力于供应优质和稳定的软件经办事。
然而,EPEL 是由志愿者所掩护的,并且不供应任何商业支持。
这种项目的本色便是,软件包会随着单个版本的进程加入和退出 EPEL 仓库。
此外,有可能偶尔一些不兼容的升级发布后须要管理员的操作。
根据政策将会提前关照给予管理员足够的韶光去测试和供应建议。

安装remi 源

CentOS 7 :wget https://rpms.remirepo.net/enterprise/remi-release-7.rpmrpm -Uvh remi-release-7.rpm

安装remi 源 往后,已默认启用 remi-safe 仓库也可自行开启remi仓库。
vim /etc/yum.repos.d/remi.repo将个中 [remi] 下的enabled=0改为enabled=1,保存退出。

都说 :remi源有很多版本的PHP
哈哈

blog.remirepo.net/post/2017/02/23/Additional-PHP-packages-for-RHSCL

什么是 SCLO? 什么是 SCLO RH?

前缀“rh-”用于在 Red Hat Software Collections 产品中供应的 Red Hat 凑集;如果是由社区创建的凑集便是 “sclo-”,。

我看有的把Software Collections 缩写成了 SCL有的是 sclo。
请大牛指示

yum 语法

yum repolist all//显示所有仓库yum repolist enabled//显示可用的仓库yum install package_name // 下载并安装一个rpm包yum update package_name 更新一个rpm包yum remove package_name 删除一个rpm包yum search package_name 在rpm仓库中征采软件包yum info package_name 查看安装包的信息yum localinstall package_name.rpm 将安装一个rpm包,利用你自己的软件仓库为你办理所有依赖关系yum update package_name.rpm 更新当前系统中所有安装的rpm包yum list 列出当前系统中安装的所有包yum clean packages 清理rpm缓存删除下载的包yum clean headers 删除所有头文件yum clean all 删除所有缓存的包和头文件

~]# yum check-update加载的插件:product-id, search-disabled-repos, subscription-manager dracut.x86_64 033-360.el7_2 rhel-7-server-rpms dracut-config-rescue.x86_64 033-360.el7_2 rhel-7-server-rpms kernel.x86_64 3.10.0-327.el7 rhel-7-server-rpms rpm.x86_64 4.11.3-17.el7 rhel-7-server-rpms rpm-libs.x86_64 4.11.3- 17.el7 rhel-7-server-rpms rpm-python.x86_64 4.11.3-17.el7 rhel-7-server-rpms yum.noarch 3.4.3-132.el7 rhel-7-server-rpms

上面输出中的包被列为可用更新。
列表中的第一个包是dracut。
示例输出中的每一行都由几行组成,如果是dracut:

dracut — 包的名称,x86_64 — 包所针对的 CPU 架构,033 — 要安装的更新包的版本,360.el7 — 更新包的发布,_2 — 构建版本,作为 z-stream 更新的一部分添加,rhel-7-server-rpms — 更新包所在的存储库。

输出还显示我们可以更新内核(内核包)、yum 和 RPM 本身(yum和rpm包)以及它们的依赖项(例如rpm-libs和rpm-python包),所有这些都利用该yum命令。

记住yum安装完,须要用rpm查询干系信息

rpm -ql php72w-fpm

记住yum安装完,须要用rpm查询干系信息

rpm -ql php72w-fpm

记住yum安装完,须要用rpm查询干系信息

rpm -ql php72w-fpm

[root@z yum.repos.d]# rpm -ql php72w-fpm/etc/logrotate.d/php-fpm/etc/php-fpm.conf/etc/php-fpm.d/etc/php-fpm.d/www.conf/etc/sysconfig/php-fpm/usr/lib/systemd/system/php-fpm.service/usr/lib/tmpfiles.d/php-fpm.conf/usr/sbin/php-fpm/usr/share/doc/php72w-fpm-7.2.34/usr/share/doc/php72w-fpm-7.2.34/fpm_LICENSE/usr/share/doc/php72w-fpm-7.2.34/php-fpm.conf.default/usr/share/fpm/usr/share/fpm/status.html/usr/share/man/man8/php-fpm.8.gz/var/log/php-fpm/var/run/php-fpm

Linux的rpm

linux软件分为 二进制包(Binary)以及源代码包(Source)两种。
二进制包可以直接安装在打算机中,而源代码包将会由RPM自动编译、安装。
源代码包常常以src.rpm作为后缀名。
Debian, Ubuntu参考 DEB 和APT软件工具 常用命令组合:

rpm 语法

-ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update;-qpl:列出RPM软件包内的文件信息[Query Package list];-qpi:列出RPM软件包的描述信息[Query Package install package(s)];-qf:查找指定文件属于哪个RPM软件包[Query File];-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];-e:删除包

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并且可以利用 HTTP 代理。
"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。
因参数浩瀚,这里不再列出,自行搜索。
类似的有curl

wget语法

wget -o download.log URL比如:wget -o aaa.tar httpxxxxx.tar

Linux ps (英文全拼:process status)命令用于显示当提高程的状态,类似于 windows 的任务管理器。

ps语法

ps [options] [--help]ps 的参数非常多, 在此仅列出几个常用的参数并大略先容含义-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他利用者的行程au(x) 输出格式 :ps -ef | grep 进程关键字ps -ef | grep php

Linux netstat 命令用于显示网络状态。

利用 netstat 指令可让你得知全体 Linux 系统的网络情形。

因参数浩瀚,这里不再列出,自行搜索最常用的如下方显示

netstat -tunlp | grep 端口号netstat -tunlp | grep 9000

Linux的service

Linux 做事管理两种办法service和systemctl

systemd是Linux系统最新的初始化系统(init),浸染是提高系统的启动速率,尽可能启动较少的进程,尽可能更多进程并发启动。
systemd对应的进程管理命令是systemctl。

service请自行搜索

systemctl语法

systemctl start php-fpm systemctl status php-fpm systemctl stop php-fpm systemctl restart php-fpm systemctl enable php-fpm systemctl didable php-fpm

linux家目录的 bash_profile

如果你想对所有的利用bash的用户修正某个配置并在往后打开的bash都生效的话可以修正这个文件,修正这个文件不用重启,重新打开一个bash即可生效。

~/.bash_profile:每个用户都可利用该文件输入专用于自己利用的shell信息,当用户登录时,该文件仅仅实行一次!默认情形下,他设置一些环境变量,实行用户的.bashrc文件.

Linux grep

命令用于查找文件里符合条件的字符串。

grep 指令用于查找内容包含指定的范本样式的文件,如果创造某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。
若不指定任何文件名称,或是所给予的文件名称为 -,则 grep 指令会从标准输入设备读取数据。

ps -ef | grep php或者grep -r '9000' php-fpm.conf

Linux ln软连接

Linux ln(英文全拼:link files) ,它的功能是为某一个文件在其余一个位置建立一个同步的链接。

当我们须要在不同的目录,用到相同的文件时,我们不须要在每一个须要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复地占用磁盘空间。
类似于windows的快捷办法

ln [参数][源文件或目录][目标文件或目录]

软连接的删除,直接删除软连接的目标文件就可以了。

压缩包管理

Linux的tar

最常用的打包命令是 tar,利用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令常日都因此 .tar 结尾的。
天生 tar 包后,就可以用其它的程序来进行压缩了。
其他的还有常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。
但一样平常tar和gz一起利用,打包和压缩一起搞。
linux便是好,约定大于配置,比如.tar.gz就知道是用tar打包了并且也压缩了。

打包tar -cf all.tar .jpg打包并且压缩tar -cvzf all.tar.gz .jpg解压tar -xzf all.tar.gztar -xzf all.tgz

终于可以开始安装环境了

源码安装

由于php的安装和运行依赖很大底层库,那第一步一定是先把须要的底层库加上。
不然就会碰着各种短缺依赖,又涉及到了yum源的知识点了。
多呀。

安装前,先检讨一遍是否安装和启动了。
不用上来就搞。
[捂脸]

[root@xxxxxx~]# ps axf | grep php-fpm 4460 pts/0 S+ 0:00 \_ grep --color=auto php-fpm 4452 ? Ss 0:00 php-fpm: master process (/usr/local/etc/php-fpm.conf) 4453 ? S 0:00 \_ php-fpm: pool www 4454 ? S 0:00 \_ php-fpm: pool www[root@xxxxxx ~]# netstat -ntlup | grep '9000'tcp 0 0 127.0.0.1:9000 0.0.0.0: LISTEN 4452/php-fpm: maste [root@xxxxx ~]# php -vPHP 7.3.24 (cli) (built: Dec 16 2021 14:37:02) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies[root@xxxxx ~]# whereis php php: /usr/lib64/php /etc/php.d /usr/local/lib/php.ini /usr/local/lib/php /usr/local/php /usr/share/php /usr/local/php7.3.24new/bin/php /usr/share/man/man1/php.1.gz

如果版本过旧,先删除掉旧的。
(当然如果把环境变量配置为新的版本也可以不删除)

1、停滞php-fpm(当然也要停滞nginx)

systemctl stop php-fpm

2、或者直接干掉进程,(如果进程号为1000)

pkill php-fpm 1000kill -9 1000kill -INT `cat /xxxx/php-fpm.pid`

二、源码安装

源码安装的套路

下载解压进入源码目录配置makemake install

1、安装依赖

我都是管他用不用,先给给来一刷子。
哈哈

yum install mysql-devel -yyum install libxml2 -yyum install libxml2-devel -yyum install curl curl-devel -yyum install -y libicu-develyum install gcc-c++ -yyum -y install unixODBC-yum -y install postgresql-develyum install libtidy-devel libtidy -yyum install nc -yyum install -y libjpeg-turbo-devel libpng-devel freetype-devel libtiff-devel libXpm-devel libwebp-devel fontconfig-develyum install autoconf -y

2、目录方案

源码包目录:/usr/local/src/xxxx.tar.gz

安装目录:/usr/local/xxx

/usr/local/php/usr/local/nginx

3、下载源码包

当然是从官网下载了。
别说官网不知道[捂脸]。
实在我常常进的是cn2.php.net

wget https://www.php.net/distributions/php-7.2.13.tar.gz

4、解压

tar -zxvf php-7.2.13.tar.gz

解压完就会天生一个php-7.2.13的目录,对吧

5、进入目录呀

cd/usr/local/src/php-7.2.13

6、源码安装的魅力来了./configure

搞起来

/configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d --with-fpm-user=www --with-fpm-group=www --enable-fpm --enable-mysqlnd --enable-opcache --enable-pcntl --enable-mbstring --enable-soap --enable-zip --enable-calendar --enable-bcmath --enable-exif --enable-intl --with-mysqli --with-pdo-mysql --with-pdo-odbc=unixODBC,/usr/ --with-pdo-pgsql --with-zlib --with-curl --with-freetype-dir --with-gettext --with-mhash --with-openssl --with-tidy --enable-wddx --with-xmlrpc --with-jpeg-dir

我在来个换行版本的。

/configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d --with-fpm-user=www --with-fpm-group=www --enable-fpm 用fpm管理进程--enable-mysqlnd --enable-opcache --enable-pcntl --enable-mbstring --enable-soap --enable-zip --enable-calendar --enable-bcmath --enable-exif --enable-intl --with-mysqli --with-pdo-mysql --with-pdo-odbc=unixODBC,/usr/ --with-pdo-pgsql --with-zlib --with-curl --with-freetype-dir --with-gettext --with-mhash --with-openssl --with-tidy --enable-wddx --with-xmlrpc --with-jpeg-dir

./configure -h

或者搜索某一个

./configure -h | grep 'pcntl'

目录随意配置,便是这么牛。
rpm就弗成了

都放到一个目录的好处是,不该用了,直接干掉/usr/local/php 目录就可以了。

7、磨练cpu的时候到了。

编译make balabala一大堆#### /bin/sh /usr/local/src/php/libtool --silent --preserve-dup-deps --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/usr/local/src/php/ext/opcache/ -DPHP_ATOM_INC -I/usr/local/src/php/include -I/usr/local/src/php/main -I/usr/local/src/php -I/usr/local/src/php/ext/date/lib -I/usr/include/libxml2 -I/usr/local/src/php/ext/mbstring/oniguruma -I/usr/local/src/php/ext/mbstring/libmbfl -I/usr/local/src/php/ext/mbstring/libmbfl/mbfl -I/usr/local/src/php/ext/sqlite3/libsqlite -I/usr/local/src/php/ext/zip/lib -I/usr/local/src/php/TSRM -I/usr/local/src/php/Zend -I/usr/include -g -O2 -fvisibility=hidden -DZEND_SIGNALS -c /usr/local/src/php/ext/opcache/Optimizer/zend_cfg.c -o ext/opcache/Optimizer/zend_cfg.lo

8、安装

make install

完事都把目录列出了Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/Installing PHP CLI binary: /usr/local/php/bin/Installing PHP CLI man page: /usr/local/php/php/man/man1/Installing PHP FPM binary: /usr/local/php/sbin/。






省率了 program: phpize program: php-configInstalling man pages: /usr/local/php/php/man/man1/ page: phpize.1 page: php-config.1Installing PEAR environment: /usr/local/php/lib/php/[PEAR] Archive_Tar - already installed: 1.4.9[PEAR] Console_Getopt - already installed: 1.4.3[PEAR] Structures_Graph- already installed: 1.1.1[PEAR] XML_Util - already installed: 1.4.5[PEAR] PEAR - already installed: 1.10.12Wrote PEAR system config file at: /usr/local/php/etc/pear.confYou may want to add: /usr/local/php/lib/php to your php.ini include_path/usr/local/src/php-7.3.24/build/shtool install -c ext/phar/phar.phar /usr/local/php/binln -s -f phar.phar /usr/local/php/bin/pharInstalling PDO headers: /usr/local/php/include/php/ext/pdo/

9、跑起来

# /usr/local/php/sbin/php-fpm 当然还有很多参数# /usr/local/php/sbin/php-fpm -h紧张用到 -c 指定php.ini文件三、环境变量的加入

一样平常系统中都已经内置了Php。
通过 whereis php命令可以查询到。

[root@zjt-ecs-1 php]# whereis phpphp: /usr/bin/php /usr/lib64/php /etc/php.d /usr/local/lib/php.ini /usr/local/lib/php /usr/local/php /usr/share/php /usr/local/php7.3.24new/bin/php /usr/share/man/man1/php.1.gz

但版本比较旧或者不是你想要的。

通过下面的办法办理

1、直接将自己编译好的二进制php命令,覆盖到/usr/bin/php。
比如

cp /usr/local/php/bin/php /usr/bin/php

2、创建软连接

[root@zjt-ecs-1 php]# ln -s /usr/local/php/bin/php /usr/bin/php[root@zjt-ecs-1 php]# ll /usr/bin/phplrwxrwxrwx 1 root root 22 12月 17 22:19 /usr/bin/php -> /usr/local/php/bin/php

3、环境变量

在家目录.bash_profile文件添加下面的一行PATH=$PATH:/usr/local/php/bin/

但如果 /usr/bin/里面和bash_profile都配置了。
从左向右搜索

[root@zjt-ecs-1 ~]# whereis phpphp: /usr/bin/php /usr/lib64/php /etc/php.d /usr/local/lib/php.ini /usr/local/lib/php /usr/local/php /usr/share/php /usr/local/php7.3.24new/bin/php /usr/share/man/man1/php.1.gz

以是如果想直接用自己定义的目录的Php,须要去掉/usr/bin/php二进制文件

四、扩展安装

不好,溘然开拓中碰着短缺扩展怎么办。
就须要涉及到扩展的安装。
分两种情形

php -m 可以查看安装的模块

1、本身源码包里面带了扩展包

[root@zjt-ecs-1 ext]# lsbcmath enchant gmp mbstring pdo phar skeleton sysvsem xslbz2 exif hash mysqli pdo_dblib posix snmp sysvshm zend_testcalendar ext_skel iconv mysqlnd pdo_firebird pspell soap tidy zipcom_dotnet ext_skel_win32.php imap oci8 pdo_mysql readline sockets tokenizer zlibctype fileinfo interbase odbc pdo_oci recode sodium wddxcurl filter intl opcache pdo_odbc reflection spl xmldate ftp json openssl pdo_pgsql session sqlite3 xmlreaderdba gd ldap pcntl pdo_sqlite shmop standard xmlrpcdom gettext libxml pcre pgsql simplexml sysvmsg xmlwriter

那步骤只是比其他软件的源码安装多一步而已,

如果没有iconv

cd /usr/local/src/php/ext/iconv/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake install

2、须要从网络高下载扩展

https://pecl.php.net/packages.php

下面是Php官网的原话

phpize 命令是用来准备 PHP 扩展库的编译环境的。
下面例子中,扩展库的源程序位于 extname 目录中:

$ cd extname$ phpize$ ./configure$ make# make install。





Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/Installing header files: /usr/local/php/include/php/

成功的安装将创建 extname.so 并放置于 PHP 的扩展库目录中。
须要调度 php.ini,加入 extension=extname.so 这一行之后才能利用此扩展库。

如果系统中没有 phpize 命令并且利用了预编译的包(例如 RPM),那要安装 PHP 包相应的开拓版本,此版本常日包含了 phpize 命令以及相应的用于编译 PHP 及其扩展库的头文件。

3、用 PEAR 编译共享 PECL 扩展库(官网的,自己没搞过)

PECL 使建立共享 PHP 扩展库更随意马虎。
$ pecl install extname

这将下载 extname 的源代码,编译之,并将 extname.so 安装到 extension_dir 中。
然后 extname.so 就可以通过 php.ini 加载了。

五、yum安装Php

由于生产环境中我都没用yum安装过,下面的步骤仅供参考哈。

第0步,也是先删除旧版本的

yum list installed | grep 'php'yum remove php-xxxxx

1、首先安装 EPEL 源:

yum install epel-release

安装 REMI 源:

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2、安装 Yum 源管理工具:

yum install yum-utils

3、安装 PHP7.3

yum install -y php72w-cli.x86_64 php72w-common.x86_64 php72w-dba.x86_64 php72w-devel.x86_64 php72w-embedded.x86_64 php72w-enchant.x86_64 php72w-fpm.x86_64

4、查询安装的配置信息命令用的是rpm

rpm -ql php72-php-fpm[root@z yum.repos.d]# rpm -ql php72w-fpm/etc/logrotate.d/php-fpm/etc/php-fpm.conf/etc/php-fpm.d/etc/php-fpm.d/www.conf/etc/sysconfig/php-fpm/usr/lib/systemd/system/php-fpm.service/usr/lib/tmpfiles.d/php-fpm.conf/usr/sbin/php-fpm/usr/share/doc/php72w-fpm-7.2.34/usr/share/doc/php72w-fpm-7.2.34/fpm_LICENSE/usr/share/doc/php72w-fpm-7.2.34/php-fpm.conf.defauAlt/usr/share/fpm/usr/share/fpm/status.html/usr/share/man/man8/php-fpm.8.gz/var/log/php-fpm/var/run/php-fpm

5、安装扩展

yum install php72w-pecl-redis.x86_64

6、卸载

yum remove -y php72w-cli.x86_64 php72w-common.x86_64 php72w-dba.x86_64 php72w-devel.x86_64 php72w-embedded.x86_64 php72w-enchant.x86_64 php72w-fpm.x86_64六、做事管理

把php添加到systemctl 统一掌握

创建文件:/usr/lib/systemd/system/php-fpm.service

[Unit]Description=The PHP FastCGI Process ManagerAfter=network.target[Service]Type=simplePIDFile=/usr/local/php/var/run/php-fpm.pidExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.confExecReload=/bin/kill -USR2 $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target

可以利用以下办法去管理了。

systemctl start php-fpm systemctl status php-fpm systemctl stop php-fpm systemctl restart php-fpm systemctl enable php-fpm 将做事设置为每次开机启动systemctl didable php-fpm

service的也跳转了

[root@xxxx ~]# service php-fpm statusRedirecting to /bin/systemctl status php-fpm.service七、php配置的设定

1、php-fpm的配置

关于www.conf和php-fpm的配置就属于配置问题,最主要的是修正静态和子进程数量

[root@xxxx ~]# cat /usr/local/php/etc/php-fpm.conf | grep -v ';'[global]pid = /var/run/php-fpm.piderror_log = log/php-fpm.loginclude=/usr/local/php/etc/php-fpm.d/.conf[root@xxxx ~]# cat /usr/local/php/etc/php-fpm.d/www.conf | grep -v ';'[www]user = wwwgroup = wwwlisten = 127.0.0.1:9000pm = staticpm.max_children = 20pm.start_servers = 2pm.min_spare_servers = 1pm.max_spare_servers = 3

排错的时候,一定确保进程启动了。

1.1、检讨进程

ps axf | grep 'php-fpm'

[root@xxxxx ~]# ps axf | grep php-fpm 4460 pts/0 S+ 0:00 \_ grep --color=auto php-fpm 4452 ? Ss 0:00 php-fpm: master process (/usr/local/etc/php-fpm.conf) 4453 ? S 0:00 \_ php-fpm: pool www 4454 ? S 0:00 \_ php-fpm: pool www

2.1、检讨端口

[root@xxxx~]# netstat -ntlup | grep '9000'tcp 0 0 127.0.0.1:9000 0.0.0.0: LISTEN 4452/php-fpm: maste

2、php.ini的配置

upload_max_filesize = 10M 记得修正哈。

allow_url_fopen = Onallow_url_include = Off[Assertion]auto_append_file =auto_globals_jit = Onauto_prepend_file =[bcmath]bcmath.scale = 0[browscap][CLI Server]cli_server.color = On[COM][curl][Date][dba]default_charset = "UTF-8"default_mimetype = "text/html"default_socket_timeout = 100disable_classes =disable_functions =display_errors = Offdisplay_startup_errors = Offdoc_root =enable_dl = Offengine = Onerror_log = /www/logs/php/php_errors.logerror_reporting = E_ALL[iconv]ignore_repeated_errors = Offignore_repeated_source = Offimplicit_flush = Off[Interbase][intl][mbstring]memory_limit = 128M[MySQLi]mysqli.allow_persistent = Onmysqli.cache_size = 2000mysqli.default_host =mysqli.default_port = 3306mysqli.default_pw =mysqli.default_socket =mysqli.default_user =mysqli.max_links = -1mysqli.max_persistent = -1mysqli.reconnect = Off[mysqlnd]mysqlnd.collect_memory_statistics = Onmysqlnd.collect_statistics = On[OCI8]省率一万字。






[Session]session.auto_start = 0session.cache_expire = 180session.cache_limiter = nocachesession.cookie_domain =省率一万字。






session.sid_length = 26session.trans_sid_tags = "a=href,area=href,frame=src,form="session.use_cookies = 1session.use_only_cookies = 1session.use_strict_mode = 0session.use_trans_sid = 0short_open_tag = OffSMTP = localhostsmtp_port = 25

7、nginx的配置设定

现在都是单入口运用,基本都是php接管要求。
nginx的配置,记得添加上。

添加到http的配置段落里面

location / { try_files $uri $uri/ /index.php?$query_string; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location ~ \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }

终于到头了。
码字不易。

感谢 点赞,收藏,转发。
关注我,理解更多软件资讯~!