记录升级PHP73_WordPress

环境 阿里云 linux apache mode下的PHP

升级脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/bash
WORKDIR=/tmp/
PHP73_DIR=/usr/local/php73
DEFAULT_SWAP=0

createSwap(){
if [ `cat /proc/meminfo | grep SwapTotal | awk -F '{print $2}'` -ne 0 ]
then
return 0
fi
if [ `cat /proc/meminfo | grep MemTotal | awk -F '{print $2}'` -le 1048576 ]
then
echo Mem lower than 1GB,creating swap...
dd if=/dev/zero of=/swap bs=1M count=2048
mkswap -f /swap
swapon /swap && echo SWAP create success.
DEFAULT_SWAP=1
fi
}

installDependence(){
yum install -y libxml2-devel openssl-devel curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel xslt libxslt-devel
yum update -y curl curl-devel
yum remove -y libzip
}

compileLibzip(){
echo start install libzip.
cd ${WORKDIR}
if [ -f libzip-1.2.0.tar.gz ]
then
rm -rf libzip-1.2.0.tar.gz
fi
wget https://code.aliyun.com/yh11/download/raw/master/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install
if [ $? -ne 0 ]
then
echo libzip install failed.
exit 127
fi
ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include
}

installPHP(){
echo Install PHP 7.3
cd ${WORKDIR}
if [ -f php-7.3.9.tar.gz ]
then
rm -rf php-7.3.9.tar.gz
fi
wget https://code.aliyun.com/yh11/download/raw/master/php-7.3.9.tar.gz
tar -xvf php-7.3.9.tar.gz
cd php-7.3.9
./configure --prefix=/usr/local/php73 --enable-soap --enable-cgi --with-mysql=/usr/local/mysql --with-mysqli=mysqlnd --with-gd --with-pdo-mysql=mysqlnd --with-zlib --enable-zip --enable-fpm --without-pear --disable-phar --with-openssl --enable-mbstring=all --with-jpeg-dir=/usr --with-png-dir=/usr --with-curl --with-freetype-dir=/usr --enable-gd-native-ttf --with-xsl=/usr --enable-calendar --enable-exif --enable-ftp --with-iconv --enable-bcmath --with-mcrypt=/usr/local/libmcrypt --enable-opcache
make && make install
if [ $? -ne 0 ]
then
echo PHP install failed.
exit 127
fi
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm73
cp ${PHP73_DIR}/etc/php-fpm.conf.default ${PHP73_DIR}/etc/php-fpm.conf
chmod +x /etc/init.d/php-fpm73
}

createConfig(){

cat << EOF > ${PHP73_DIR}/etc/php-fpm.d/www.conf
[www]
listen = /home/www/logs/php73-fpm.sock
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 128
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 300
rlimit_files = 1024
slowlog = /home/www/logs/php73-fpm-slow.log
EOF

}

modifyApache(){
sed -i 's#ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs#ProxyPassMatch ^/(.*\\.php(/.*)?)$ unix:/home/www/logs/php73-fpm.sock|fcgi://127.0.0.1/home/www/htdocs#g' /usr/local/apache/conf/httpd.conf
}

restartService(){
chkconfig php-fpm off
chkconfig php-fpm73 on
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm73 start
/etc/init.d/apachectl restart
}

delSwap(){
if [ ${DEFAULT_SWAP} -eq 1 ]
then
swapoff /swap
rm -rf /swap
fi
}

createSwap
installDependence
compileLibzip
installPHP
createConfig
modifyApache
restartService
delSwap

怎么执行sh脚本

https://blog.csdn.net/magi1201/article/details/75194515

1。新建一个sh文件

vim setup.sh

内容是文章中的。

  1. 给权限

chmod 764 setup.sh

3.在当前目录使用命令

./setup.sh

查找php.ini

说到查找,当然首先想到的是find命令。执行如下命令,即可查找到php.ini文件

1
sudo find / -name php.ini 

i/21eb06fd.png
可是,找到三个php.ini文件,具体哪个是当前正在运行的PHP使用的配置文件呢? PHP提供了两种方式,可供使用。

方法一

这个是比较简单的方法,使用如下命令,可以清楚的看出当前的php使用的配置文件。

1
php --ini 

i/5e2c4808.png
方法二

打印出phpinfo(),然后就可以看出了,如下:阿里云网站首页为

cd /home/www/htdocs/

vim phpinfo.php

内容为

1
2
3
<?php
phpinfo();
?>

记录升级

上文脚本指定的位置在

cd /usr/local/php73/lib

针对这个方法,也可以在命令行中查看,有如下两种方式:

php -i |grep php.ini //php -i其实就是输出phpinfo

php -r phpinfo(); |grep php.ini

记录升级

本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址 http://www.findme.wang/blog/detail/id/278.html

chmod 764 setup.sh

修改WordPress中上传附件2M大小限制的方法

搜索一下几个关键字:

memory_limit、post_max_size、upload_max_filesize、max_execution_time、max_input_time

解释选项

file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir = /tmp/ ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹/tmp/

一般默认的设置值为:

(注意下,这些设置不是在一起的,是分开的,需要自己查找修正)

memory_limit=8M ;每个PHP页面所吃掉的最大内存,默认8M//相当于单个脚本可调用内存大小 post_max_size=8M ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M//上传文件大小上限 upload_max_filesize=2M ;允许上传文件大小的最大值。默认为2M//默认上传文件大小,这个就是2M的限制! max_execution_time=30 ;每个PHP页面运行的最大时间值(秒),默认30秒//最大执行时间,页面等待时间 max_input_time=60 ;每个PHP页面接收数据所需的最大时间,默认60秒

如果要上传>8M的大体积文件,需要进一步配置以下参数

进一步配置以下的参数

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了 max_execution_time = 600 max_input_time = 600 memory_limit = 128m upload_max_filesize = 128m post_max_size = 128m

重启apache服务器

阿里云中

停止旧版本的PHP(实际不停止也不影响,停止可以减少一些系统资源占用)

/etc/init.d/php-fpm stop

启动新版PHP-FPM

/etc/init.d/php-fpm73 start

重启apache

/etc/init.d/apachectl restart

比较常见的:service apache2 restart

假设你apahce安装目录为/usr/local/apache2 apahce启动命令:/usr/local/apache2/bin/apachectl start apaceh apache停止命令:/usr/local/apache2/bin/apachectl stop apache重启命令:/usr/local/apache2/bin/apachectl restart 重启时不中断当前的连接,则应:/usr/local/sbin/apachectl graceful

如果apache是linux服务 service httpd start 启动 service httpd restart 重新启动 service httpd stop 停止服务

Ubuntu系统 启动 # sudo /etc/init.d/apache2 start 停止 # sudo /etc/init.d/apache2 stop 重启 # sudo /etc/init.d/apache2 restart

更新,直接看我的另外一篇文章

记录wordpress迁移网站,从阿里云到阿里云

里面记录了我使用宝塔面板作为Linux上的服务器运维工具,并因此备份wordpress,重装liunx,恢复备份的全过程

即推荐直接使用宝塔作为运维工具实现对PHP73的升级,同时解决阿里云上默认的应用镜像Wordpress环境变量配置不全的问题,这个问题十分折磨人,直接导致你有许多服务器的运维工具,运维命令无法使用,包括最基础的php 命令,都得想方设法绕开,使用变通方法。