目次
在CentOS上把PHP从5.4升级到5.5,centosphp5.45.5
在CentOS上把PHP从5.4升级到5.5
1. 概述
2. 计划
2.1 了解情况
2.2 确定计划
3. 安装、配置PHP 5.5.13
3.1 添加remi安装库
3.2 用yum安装PHP 5.5.13
3.3 配置PHP-FPM的启动
3.4 停止PHP-FPM 5.4.8
3.5 启动PHP-FPM 5.5.13
3.6 问题:数据库的图像文件没有显示
3.7 问题:登录总是失败,并重新返回到登录页面
A. 参考资料
centos55升级php到53,报如下错误:
Centos58 怎把php5217升级到php533
ホームページ php教程 php手册 在CentOS上把PHP从5.4升级到5.5,centosphp5.45.5

在CentOS上把PHP从5.4升级到5.5,centosphp5.45.5

Jun 13, 2016 am 09:27 AM
php

在CentOS上把PHP从5.4升级到5.5,centosphp5.45.5

在CentOS上把PHP从5.4升级到5.5

摘要:本文记录了在CentOS 6.3上,把PHP从5.4.8升级到5.5.13的过程。

1. 概述

在我做的一个项目中,最近我对生产服务器上的一系列系统软件进行了升级,包括Git、Nginx、MySQL和PHP。这篇文章讲的是升级PHP的过程,其他软件的升级,可见下面列出的文章。

  • 在CentOS上把git从1.7.1升级到1.7.12.4
  • 在CentOS上把Nginx从1.2.4升级到1.6.0
  • 在CentOS上把MySQL从5.5升级到5.6
  • 在CentOS上把PHP从5.4升级到5.5 (本文)

在我加入这个项目之前,服务器上的PHP已经安装设置好了,我只是正常使用而已。现在过去1年了,所有的开发工作都告一段落,有时间升级服务器上的软件了。升级这种事情是应当经常做的,倒不是为了追最新版本,而是当正式版本发放出来的时候,应该及时更新, 以便获得最新的更正、补丁,避免服务器上的漏洞,减少安全隐患。

升级是在今年6月13-14日进行的,到今天才有空做个记录,便于日后参考。

2. 计划

计划就是预案,就是事先的准备(包括心理上的)、更明细的步骤、对各种情况及对意外的对策,当然,我们不可能面面俱到,预测一切,不然就成神了,所以要随时准备脱稿演出,think out of the box。

2.1 了解情况

计划要有针对性,所以要先”踩点儿“。

通过在系统上,用find之类的命令,或者通过网页用phpinfo()函数来显示关于PHP的信息,可以找到PHP安装在/usr/local/php目录下。这说明PHP是从源代码编译安装的,因为yum和rpm是不会安装到/usr/local/php这个路径的。在QQ群友的提示下,找到PHP 5.4.8的源代码位于/usr/local/src/php-5.4.8目录中,进一步确认PHP是从源代码编译安装的。

查看PHP版本:

# /usr/local/php/bin/php -<span>v
PHP </span><span>5.4</span>.<span>8</span> (cli) (built: Nov <span>13</span> <span>2012</span> <span>00</span>:<span>08</span>:<span>08</span><span>)
Copyright (c) </span><span>1997</span>-<span>2012</span><span> The PHP Group
Zend Engine v2.</span><span>4.0</span>, Copyright (c) <span>1998</span>-<span>2012</span> Zend Tehnologies
ログイン後にコピー

再查看PHP-FPM的运行情况。那两天看文档,我才知道有PHP-FPM(FastCGI Process Manager)这么个东西,在5.4之后已经包括在PHP之中了,详见参考资料[]13][14]。

查看PHP-FPM使用的端口:

# netstat -ntpul | <span>grep</span> php-<span>fpm
tcp        </span><span>0</span>      <span>0</span> <span>127.0</span>.<span>0.1</span>:<span>9000</span>              <span>0.0</span>.<span>0.0</span>:*                   LISTEN      <span>2881</span>/php-fpm
ログイン後にコピー

查看PHP-FPM的进程:

# <span>ps</span> aux | <span>grep</span> php-<span>fpm
USER       PID </span>%CPU %<span>MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      </span><span>2881</span>  <span>0.0</span>  <span>0.2</span> <span>204172</span>  <span>2064</span> ?        Ss    <span>2013</span>  <span>38</span>:<span>09</span> php-fpm: master process (/usr/local/php/etc/php-<span>fpm.conf)
www      </span><span>18982</span>  <span>0.0</span>  <span>1.4</span> <span>212796</span> <span>14816</span> ?        S    <span>19</span>:<span>12</span>   <span>0</span>:<span>03</span> php-<span>fpm: pool www
www      </span><span>18983</span>  <span>0.0</span>  <span>1.4</span> <span>211996</span> <span>14572</span> ?        S    <span>19</span>:<span>13</span>   <span>0</span>:<span>03</span> php-<span>fpm: pool www
www      </span><span>18984</span>  <span>0.0</span>  <span>1.4</span> <span>212276</span> <span>14876</span> ?        S    <span>19</span>:<span>13</span>   <span>0</span>:<span>03</span> php-<span>fpm: pool www
root     </span><span>19144</span>  <span>0.0</span>  <span>0.0</span> <span>103236</span>   <span>864</span> pts/<span>0</span>    S+   <span>23</span>:<span>29</span>   <span>0</span>:<span>00</span> <span>grep</span> php-fpm
ログイン後にコピー

查看PHP-FPM的版本:

# /usr/local/php/sbin/php-fpm -<span>v
PHP </span><span>5.4</span>.<span>8</span> (fpm-fcgi) (built: Nov <span>13</span> <span>2012</span> <span>00</span>:<span>15</span>:<span>58</span><span>)
Copyright (c) </span><span>1997</span>-<span>2012</span><span> The PHP Group
Zend Engine v2.</span><span>4.0</span>, Copyright (c) <span>1998</span>-<span>2012</span> Zend Technologies
ログイン後にコピー

查看上次系统启动的时间,这是怕安装的东西没重启而没有生效:

# <span>who</span> -<span>b
         system boot  </span><span>2013</span>-<span>01</span>-<span>04</span> <span>01</span>:<span>07</span><span>
# </span><span>last</span><span> reboot
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>279.14</span>.<span>1</span>. Fri Jan  <span>4</span> <span>01</span>:<span>07</span> - <span>20</span>:<span>36</span> (<span>526</span>+<span>19</span>:<span>29</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Mon Nov <span>12</span> <span>17</span>:<span>53</span> - <span>20</span>:<span>36</span> (<span>579</span>+<span>02</span>:<span>42</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Thu May <span>10</span> <span>17</span>:<span>12</span> - <span>17</span>:<span>13</span>  (<span>00</span>:<span>01</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Wed May  <span>9</span> <span>15</span>:<span>31</span> - <span>15</span>:<span>36</span>  (<span>00</span>:<span>04</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Wed May  <span>9</span> <span>15</span>:<span>03</span> - <span>15</span>:<span>29</span>  (<span>00</span>:<span>26</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Wed May  <span>9</span> <span>10</span>:<span>09</span> - <span>12</span>:<span>26</span>  (<span>02</span>:<span>16</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Thu May  <span>3</span> <span>17</span>:<span>23</span> - <span>17</span>:<span>25</span>  (<span>00</span>:<span>02</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Fri May  <span>4</span> <span>01</span>:<span>17</span> - <span>17</span>:<span>22</span>  (-<span>7</span>:-<span>54</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Fri Apr <span>20</span> <span>21</span>:<span>33</span> - <span>17</span>:<span>22</span> (<span>12</span>+<span>19</span>:<span>48</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Sat Apr <span>21</span> <span>03</span>:<span>39</span> - <span>17</span>:<span>22</span> (<span>12</span>+<span>13</span>:<span>42</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Fri Apr <span>20</span> <span>18</span>:<span>02</span> - <span>17</span>:<span>22</span> (<span>12</span>+<span>23</span>:<span>19</span><span>)
reboot   system boot  </span><span>2.6</span>.<span>32</span>-<span>220.13</span>.<span>1</span>. Thu Apr <span>19</span> <span>19</span>:<span>51</span> - <span>17</span>:<span>59</span>  (<span>22</span>:<span>07</span>)
ログイン後にコピー

其实这种担心是多余的,因为Linux和Windows不一样,基本上新安装的东西,都有命令行可以重启,只要你知道相应的命令行,不需要重启整个系统。

小结,现有的PHP 5.4.8安装在/usr/local/php目录下,是编译安装的,源代码位于/usr/local/src/php-5.4.8目录中。编译安装的好处是,可以自己定制,增减PHP扩展等等。建议,如无必要,不要使用编译安装,因为这样的安装,操作麻烦,对操作者的要求比较高,又无法利用yum和rpm这样的工具,不便于升级、卸载。

这也是为什么我用yum update php命令无法直接升级PHP的原因,因为yum或者rpm根本不知道用源代码编译安装的PHP。下面是我尝试的结果:

# <span>yum</span><span> update php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 </span>* base: mirrors.<span>163</span><span>.com
 </span>*<span> epel: mirrors.hust.edu.cn
 </span>* extras: mirrors.<span>163</span><span>.com
 </span>*<span> remi: mirrors.hustunique.com
 </span>* remi-<span>php55: mirrors.hustunique.com
 </span>* updates: mirrors.<span>163</span><span>.com
Setting up Update Process
Package(s) php available, but not installed.
No Packages marked </span><span>for</span> Update
ログイン後にコピー

可见,yum没有找到已经安装的php包,所以没什么可以升级的。孤独的编译安装,没人待见,看来要在角落里终老一生了。

2.2 确定计划

经过在几个CakePHP、PHP相关的QQ群里,向其他朋友的请教和讨论,(此处略去15000字),其实这是和上面的”踩点儿“互相掺杂在一起进行的。在这里要特别感谢CakePHP群中的Christian和严谨的PHP HHVM MySQL群中的Linux 管理员(Freax)两位朋友。最终在朋友们的帮助下形成了下面的计划要点:

  • 保留原有编译安装的PHP 5.4.8,没必要去动它,不用就是了
  • 用yum安装PHP 5.5.13,配置PHP-FPM 5.5.13使用另一个端口(比如9001)
  • 修改Nginx的配置,使用在新端口上的PHP-FPM 5.5.13
  • 如何重启PHP-FPM?
    答:php-fpm在5.4以后默认是二进制文件了,不再用service php-fpm start这种启动了。可以在/etc/rc.local (link to /etc/rc.d/rc.local) 加上这条命令

前期的调研、计划,花了差不多2天时间,而之后的安装、配置,也就用了3-4个小时。

3. 安装、配置PHP 5.5.13

根据这两天读的文档,确定使用remi安装库,使用yum来安装PHP 5.5.13。

3.1 添加remi安装库

下面的操作依据参考资料[4]:

# <span>wget</span> http:<span>//</span><span>dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm</span>
# <span>wget</span> http:<span>//</span><span>rpms.famillecollet.com/enterprise/remi-release-6.rpm</span>
# rpm -Uvh remi-release-<span>6</span>*.rpm epel-release-<span>6</span>*.rpm
ログイン後にコピー

3.2 用yum安装PHP 5.5.13

从之前PHP 5.4.8下phpinfo()的输出,知道了旧的PHP 5.4.8上安装的PHP扩展,这样确定了下面需要安装的包(命令yum install之后的参数):

# <span>yum</span> <span>install</span> php php-fpm php-gd php-mysqlnd php-mcrypt php-mbstring php-<span>pdo
Dependencies Resolved

</span>================================================================================<span>
 Package                Arch      Version                   Repository     Size
</span>================================================================================<span>
Installing:
 libjpeg</span>-turbo          x86_64    <span>1.2</span>.<span>1</span>-<span>3</span>.el6_5             updates       <span>174</span><span> k
     replacing  libjpeg.x86_64 6b</span>-<span>46</span><span>.el6
 libjpeg</span>-turbo-devel    x86_64    <span>1.2</span>.<span>1</span>-<span>3</span>.el6_5             updates        <span>96</span><span> k
     replacing  libjpeg</span>-devel.x86_64 6b-<span>46</span><span>.el6
 php                    x86_64    </span><span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>2.6</span><span> M
 php</span>-fpm                x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>1.3</span><span> M
 php</span>-gd                 x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55     <span>69</span><span> k
 php</span>-mbstring           x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>958</span><span> k
 php</span>-mcrypt             x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55     <span>40</span><span> k
 php</span>-mysqlnd            x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>261</span><span> k
 php</span>-pdo                x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>109</span><span> k
Installing </span><span>for</span><span> dependencies:
 apr</span>-util-ldap          x86_64    <span>1.3</span>.<span>9</span>-<span>3</span>.el6_0.<span>1</span>           base           <span>15</span><span> k
 fontconfig             x86_64    </span><span>2.8</span>.<span>0</span>-<span>3</span>.el6               base          <span>186</span><span> k
 gd</span>-<span>last</span>                x86_64    <span>2.1</span>.<span>0</span>-<span>2</span>.el6.remi          remi          <span>129</span><span> k
 httpd                  x86_64    </span><span>2.2</span>.<span>15</span>-<span>30</span>.el6.centos      updates       <span>821</span><span> k
 httpd</span>-tools            x86_64    <span>2.2</span>.<span>15</span>-<span>30</span>.el6.centos      updates        <span>73</span><span> k
 libX11                 x86_64    </span><span>1.5</span>.<span>0</span>-<span>4</span>.el6               base          <span>584</span><span> k
 libX11</span>-common          noarch    <span>1.5</span>.<span>0</span>-<span>4</span>.el6               base          <span>192</span><span> k
 libXau                 x86_64    </span><span>1.0</span>.<span>6</span>-<span>4</span>.el6               base           <span>24</span><span> k
 libXpm                 x86_64    </span><span>3.5</span>.<span>10</span>-<span>2</span>.el6              base           <span>51</span><span> k
 libmcrypt              x86_64    </span><span>2.5</span>.<span>8</span>-<span>9</span>.el6               epel           <span>96</span><span> k
 libtiff                x86_64    </span><span>3.9</span>.<span>4</span>-<span>10</span>.el6_5            updates       <span>343</span><span> k
 libxcb                 x86_64    </span><span>1.8</span>.<span>1</span>-<span>1</span>.el6               base          <span>110</span><span> k
 libxslt                x86_64    </span><span>1.1</span>.<span>26</span>-<span>2</span>.el6_3.<span>1</span>          base          <span>452</span><span> k
 mailcap                noarch    </span><span>2.1</span>.<span>31</span>-<span>2</span>.el6              base           <span>27</span><span> k
 php</span>-cli                x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>2.5</span><span> M
 php</span>-common             x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>1.0</span><span> M
 php</span>-pear               noarch    <span>1</span>:<span>1.9</span>.<span>4</span>-<span>28</span>.el6.remi       remi          <span>373</span><span> k
 php</span>-pecl-jsonc         x86_64    <span>1.3</span>.<span>5</span>-<span>1</span>.el6.remi.<span>5.5</span>      remi-php55     <span>46</span><span> k
 php</span>-pecl-<span>zip</span>           x86_64    <span>1.12</span>.<span>4</span>-<span>1</span>.el6.remi.<span>5.5</span>     remi-php55    <span>269</span><span> k
 php</span>-process            x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55     <span>54</span><span> k
 php</span>-xml                x86_64    <span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi         remi-php55    <span>206</span><span> k
 t1lib                  x86_64    </span><span>5.1</span>.<span>2</span>-<span>6</span>.el6_2.<span>1</span>           base          <span>160</span><span> k

Transaction Summary
</span>================================================================================<span>
Install      </span><span>31</span> Package(s)
ログイン後にコピー

yum自动计算出需要的依赖安装包,总共有31个安装包需要下载、安装。

下面询问是否继续下载,回答y,并按回车即可继续:

Total download size: <span>13</span><span> M
Is this ok [y</span>/<span>N]: y
Downloading Packages:
(</span><span>1</span>/<span>31</span>): apr-util-ldap-<span>1.3</span>.<span>9</span>-<span>3</span>.el6_0.<span>1</span>.x86_64.rpm         |  <span>15</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>2</span>/<span>31</span>): fontconfig-<span>2.8</span>.<span>0</span>-<span>3</span>.el6.x86_64.rpm                | <span>186</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>3</span>/<span>31</span>): gd-<span>last</span>-<span>2.1</span>.<span>0</span>-<span>2</span>.el6.remi.x86_64.rpm              | <span>129</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>4</span>/<span>31</span>): httpd-<span>2.2</span>.<span>15</span>-<span>30</span>.el6.centos.x86_64.rpm            | <span>821</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>5</span>/<span>31</span>): httpd-tools-<span>2.2</span>.<span>15</span>-<span>30</span>.el6.centos.x86_64.rpm      |  <span>73</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>6</span>/<span>31</span>): libX11-<span>1.5</span>.<span>0</span>-<span>4</span>.el6.x86_64.rpm                    | <span>584</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>7</span>/<span>31</span>): libX11-common-<span>1.5</span>.<span>0</span>-<span>4</span>.el6.noarch.rpm             | <span>192</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>8</span>/<span>31</span>): libXau-<span>1.0</span>.<span>6</span>-<span>4</span>.el6.x86_64.rpm                    |  <span>24</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>9</span>/<span>31</span>): libXpm-<span>3.5</span>.<span>10</span>-<span>2</span>.el6.x86_64.rpm                   |  <span>51</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>10</span>/<span>31</span>): libjpeg-turbo-<span>1.2</span>.<span>1</span>-<span>3</span>.el6_5.x86_64.rpm          | <span>174</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>11</span>/<span>31</span>): libjpeg-turbo-devel-<span>1.2</span>.<span>1</span>-<span>3</span>.el6_5.x86_64.rpm    |  <span>96</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>12</span>/<span>31</span>): libmcrypt-<span>2.5</span>.<span>8</span>-<span>9</span>.el6.x86_64.rpm                |  <span>96</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>13</span>/<span>31</span>): libtiff-<span>3.9</span>.<span>4</span>-<span>10</span>.el6_5.x86_64.rpm               | <span>343</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>14</span>/<span>31</span>): libxcb-<span>1.8</span>.<span>1</span>-<span>1</span>.el6.x86_64.rpm                   | <span>110</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>15</span>/<span>31</span>): libxslt-<span>1.1</span>.<span>26</span>-<span>2</span>.el6_3.<span>1</span>.x86_64.rpm             | <span>452</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>16</span>/<span>31</span>): mailcap-<span>2.1</span>.<span>31</span>-<span>2</span>.el6.noarch.rpm                 |  <span>27</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>17</span>/<span>31</span>): php-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm                | <span>2.6</span> MB     <span>00</span>:<span>00</span><span>
(</span><span>18</span>/<span>31</span>): php-cli-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm            | <span>2.5</span> MB     <span>00</span>:<span>00</span><span>
(</span><span>19</span>/<span>31</span>): php-common-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm         | <span>1.0</span> MB     <span>00</span>:<span>00</span><span>
(</span><span>20</span>/<span>31</span>): php-fpm-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm            | <span>1.3</span> MB     <span>00</span>:<span>00</span><span>
(</span><span>21</span>/<span>31</span>): php-gd-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm             |  <span>69</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>22</span>/<span>31</span>): php-mbstring-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm       | <span>958</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>23</span>/<span>31</span>): php-mcrypt-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm         |  <span>40</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>24</span>/<span>31</span>): php-mysqlnd-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm        | <span>261</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>25</span>/<span>31</span>): php-pdo-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm            | <span>109</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>26</span>/<span>31</span>): php-pear-<span>1.9</span>.<span>4</span>-<span>28</span>.el6.remi.noarch.rpm           | <span>373</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>27</span>/<span>31</span>): php-pecl-jsonc-<span>1.3</span>.<span>5</span>-<span>1</span>.el6.remi.<span>5.5</span>.x86_64.rpm  |  <span>46</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>28</span>/<span>31</span>): php-pecl-<span>zip</span>-<span>1.12</span>.<span>4</span>-<span>1</span>.el6.remi.<span>5.5</span>.x86_64.rpm   | <span>269</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>29</span>/<span>31</span>): php-process-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm        |  <span>54</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>30</span>/<span>31</span>): php-xml-<span>5.5</span>.<span>13</span>-<span>3</span>.el6.remi.x86_64.rpm            | <span>206</span> kB     <span>00</span>:<span>00</span><span>
(</span><span>31</span>/<span>31</span>): t1lib-<span>5.1</span>.<span>2</span>-<span>6</span>.el6_2.<span>1</span>.x86_64.rpm                | <span>160</span> kB     <span>00</span>:<span>00</span>
--------------------------------------------------------------------------------<span>
Total                                           </span><span>3.6</span> MB/s |  <span>13</span> MB     <span>00</span>:<span>03</span>
ログイン後にコピー

之后还有一些Is this ok [y/N]:的问题,一律回答y。经过一轮问答和安装,最后完成时的小结为:

<span>Installed:
  libjpeg</span>-turbo.x86_64 <span>0</span>:<span>1.2</span>.<span>1</span>-<span>3</span><span>.el6_5
  libjpeg</span>-turbo-devel.x86_64 <span>0</span>:<span>1.2</span>.<span>1</span>-<span>3</span><span>.el6_5
  php.x86_64 </span><span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-fpm.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-gd.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-mbstring.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-mcrypt.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-mysqlnd.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-pdo.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi

Dependency Installed:
  apr</span>-util-ldap.x86_64 <span>0</span>:<span>1.3</span>.<span>9</span>-<span>3</span>.el6_0.<span>1</span><span>
  fontconfig.x86_64 </span><span>0</span>:<span>2.8</span>.<span>0</span>-<span>3</span><span>.el6
  gd</span>-<span>last</span>.x86_64 <span>0</span>:<span>2.1</span>.<span>0</span>-<span>2</span><span>.el6.remi
  httpd.x86_64 </span><span>0</span>:<span>2.2</span>.<span>15</span>-<span>30</span><span>.el6.centos
  httpd</span>-tools.x86_64 <span>0</span>:<span>2.2</span>.<span>15</span>-<span>30</span><span>.el6.centos
  libX11.x86_64 </span><span>0</span>:<span>1.5</span>.<span>0</span>-<span>4</span><span>.el6
  libX11</span>-common.noarch <span>0</span>:<span>1.5</span>.<span>0</span>-<span>4</span><span>.el6
  libXau.x86_64 </span><span>0</span>:<span>1.0</span>.<span>6</span>-<span>4</span><span>.el6
  libXpm.x86_64 </span><span>0</span>:<span>3.5</span>.<span>10</span>-<span>2</span><span>.el6
  libmcrypt.x86_64 </span><span>0</span>:<span>2.5</span>.<span>8</span>-<span>9</span><span>.el6
  libtiff.x86_64 </span><span>0</span>:<span>3.9</span>.<span>4</span>-<span>10</span><span>.el6_5
  libxcb.x86_64 </span><span>0</span>:<span>1.8</span>.<span>1</span>-<span>1</span><span>.el6
  libxslt.x86_64 </span><span>0</span>:<span>1.1</span>.<span>26</span>-<span>2</span>.el6_3.<span>1</span><span>
  mailcap.noarch </span><span>0</span>:<span>2.1</span>.<span>31</span>-<span>2</span><span>.el6
  php</span>-cli.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-common.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-pear.noarch <span>1</span>:<span>1.9</span>.<span>4</span>-<span>28</span><span>.el6.remi
  php</span>-pecl-jsonc.x86_64 <span>0</span>:<span>1.3</span>.<span>5</span>-<span>1</span>.el6.remi.<span>5.5</span><span>
  php</span>-pecl-<span>zip</span>.x86_64 <span>0</span>:<span>1.12</span>.<span>4</span>-<span>1</span>.el6.remi.<span>5.5</span><span>
  php</span>-process.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  php</span>-xml.x86_64 <span>0</span>:<span>5.5</span>.<span>13</span>-<span>3</span><span>.el6.remi
  t1lib.x86_64 </span><span>0</span>:<span>5.1</span>.<span>2</span>-<span>6</span>.el6_2.<span>1</span><span>

Replaced:
  libjpeg.x86_64 </span><span>0</span>:6b-<span>46</span>.el6          libjpeg-devel.x86_64 <span>0</span>:6b-<span>46</span><span>.el6

Complete</span>!
ログイン後にコピー

3.3 配置PHP-FPM的启动

因为使用yum安装,安装过程已经拷贝好了PHP-FPM的服务daemon,只需确保PHP-FPM服务能在系统重启时自动启动就行了:

# chkconfig php-fpm on
ログイン後にコピー

查看PHP-FPM服务的自启动状态:

# chkconfig --list php-<span>fpm
php</span>-fpm         <span>0</span>:off   <span>1</span>:off   <span>2</span>:on    <span>3</span>:on    <span>4</span>:on    <span>5</span>:on    <span>6</span>:off
ログイン後にコピー

正确。

3.4 停止PHP-FPM 5.4.8

查看PHP-FPM 5.4.8的进程:

# <span>ps</span> aux | <span>grep</span> php-<span>fpm
root      </span><span>2881</span>  <span>0.0</span>  <span>0.1</span> <span>204172</span>  <span>1972</span> ?        Ss    <span>2013</span>  <span>38</span>:<span>13</span> php-fpm: master process (/usr/local/php/etc/php-<span>fpm.conf)
www      </span><span>19378</span>  <span>0.0</span>  <span>1.4</span> <span>212764</span> <span>14736</span> ?        S    <span>10</span>:<span>30</span>   <span>0</span>:<span>14</span> php-<span>fpm: pool www
www      </span><span>19379</span>  <span>0.0</span>  <span>1.5</span> <span>213352</span> <span>15888</span> ?        S    <span>10</span>:<span>32</span>   <span>0</span>:<span>13</span> php-<span>fpm: pool www
www      </span><span>19657</span>  <span>0.0</span>  <span>1.3</span> <span>212076</span> <span>13964</span> ?        S    <span>18</span>:<span>45</span>   <span>0</span>:<span>02</span> php-<span>fpm: pool www
root     </span><span>20083</span>  <span>0.0</span>  <span>0.0</span> <span>103236</span>   <span>864</span> pts/<span>0</span>    S+   <span>22</span>:<span>40</span>   <span>0</span>:<span>00</span> <span>grep</span> php-fpm
ログイン後にコピー

可见,当前PHP-FPM 5.54.8进程的进程号(pid)是2881,注意其使用的配置文件/usr/local/php/etc/php-fpm.conf位于编译安装PHP的目录,证实了这是PHP-FPM 5.54.8进程。其余进程为其子进程,而grep php-fpm是查看进程这个命令的进程

中断PHP-FPM 5.54.8进程:

# <span>kill</span> -TERM <span>2881</span>
ログイン後にコピー

再次查看PHP-FPM的进程:

# <span>ps</span> aux | <span>grep</span> php-<span>fpm
root     </span><span>20087</span>  <span>0.0</span>  <span>0.0</span> <span>103236</span>   <span>864</span> pts/<span>0</span>    S+   <span>22</span>:<span>43</span>   <span>0</span>:<span>00</span> <span>grep</span> php-fpm
ログイン後にコピー

已经没有PHP-FPM的进程了,唯一剩下的grep php-fpm是查看进程这个命令的进程。

3.5 启动PHP-FPM 5.5.13

PHP-FPM的配置,我遵照的是参考资料[10],这是一个分级结构的配置文件,多个配置文件各司其职,便于更换配置,启用、停止配置的各模块也更容易。

启动php-fpm服务:

# service php-<span>fpm start
Starting php</span>-fpm:                                          [  OK  ]
ログイン後にコピー

顺利启动。

再查看其进程:

# <span>ps</span> aux | <span>grep</span> php-<span>fpm
root     </span><span>20099</span>  <span>0.0</span>  <span>0.5</span> <span>313272</span>  <span>5832</span> ?        Ss   <span>22</span>:<span>44</span>   <span>0</span>:<span>00</span> php-fpm: master process (/etc/php-<span>fpm.conf)
apache   </span><span>20100</span>  <span>0.4</span>  <span>1.1</span> <span>317112</span> <span>11876</span> ?        S    <span>22</span>:<span>44</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
apache   </span><span>20101</span>  <span>0.3</span>  <span>1.5</span> <span>319936</span> <span>15316</span> ?        S    <span>22</span>:<span>44</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
apache   </span><span>20102</span>  <span>0.4</span>  <span>1.6</span> <span>322244</span> <span>16892</span> ?        S    <span>22</span>:<span>44</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
apache   </span><span>20103</span>  <span>0.4</span>  <span>1.5</span> <span>320964</span> <span>15636</span> ?        S    <span>22</span>:<span>44</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
apache   </span><span>20104</span>  <span>0.3</span>  <span>1.3</span> <span>319648</span> <span>14256</span> ?        S    <span>22</span>:<span>44</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
apache   </span><span>20106</span>  <span>0.3</span>  <span>1.3</span> <span>319140</span> <span>13696</span> ?        S    <span>22</span>:<span>45</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
apache   </span><span>20107</span>  <span>0.1</span>  <span>0.7</span> <span>313776</span>  <span>8140</span> ?        S    <span>22</span>:<span>46</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
root     </span><span>20109</span>  <span>0.0</span>  <span>0.0</span> <span>103236</span>   <span>864</span> pts/<span>0</span>    S+   <span>22</span>:<span>47</span>   <span>0</span>:<span>00</span> <span>grep</span> php-fpm
ログイン後にコピー

可见其进程号为20099,其余进程为其子进程,而grep php-fpm是查看进程这个命令的进程。

3.6 问题:数据库的图像文件没有显示

原因:PHP-FPM子进程的所有者:组是apache,而不是www。而Nginx是运行在www用户下,故应当改为www。

编辑/etc/php-fpm.d/www.conf:

<span>[</span><span>www</span><span>]</span>
<span>;</span><span>user = apache</span>
user =<span> www
</span><span>;</span><span>group = apache</span>
group = www
ログイン後にコピー

再重启php-fpm服务:

# service php-<span>fpm stop
Stopping php</span>-<span>fpm:                                          [  OK  ]
# service php</span>-<span>fpm start
Starting php</span>-fpm:                                          [  OK  ]
ログイン後にコピー

查看php-fpm进程:

# <span>ps</span> aux | <span>grep</span> php-<span>fpm
root     </span><span>20208</span>  <span>0.0</span>  <span>0.5</span> <span>313272</span>  <span>5832</span> ?        Ss   <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-fpm: master process (/etc/php-<span>fpm.conf)
www      </span><span>20209</span>  <span>0.4</span>  <span>1.0</span> <span>316056</span> <span>10388</span> ?        S    <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
www      </span><span>20210</span>  <span>0.3</span>  <span>0.9</span> <span>315020</span>  <span>9280</span> ?        S    <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
www      </span><span>20211</span>  <span>0.4</span>  <span>1.0</span> <span>316580</span> <span>10764</span> ?        S    <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
www      </span><span>20212</span>  <span>0.4</span>  <span>1.0</span> <span>316056</span> <span>10388</span> ?        S    <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
www      </span><span>20213</span>  <span>0.0</span>  <span>0.4</span> <span>313272</span>  <span>4872</span> ?        S    <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
www      </span><span>20215</span>  <span>0.0</span>  <span>0.4</span> <span>313272</span>  <span>4876</span> ?        S    <span>23</span>:<span>13</span>   <span>0</span>:<span>00</span> php-<span>fpm: pool www
root     </span><span>20217</span>  <span>0.0</span>  <span>0.0</span> <span>103236</span>   <span>860</span> pts/<span>0</span>    S+   <span>23</span>:<span>14</span>   <span>0</span>:<span>00</span> <span>grep</span> php-fpm
ログイン後にコピー

可以看到PHP-FPM进程的进程号是20208,其子进程都以www用户身份运行,而grep php-fpm是查看进程这个命令的进程。

3.7 问题:登录总是失败,并重新返回到登录页面

错误日志为:

2014-06-14 23:14:36 Warning: Warning (2): Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in <span>[</span><span>Unknown, line 0</span><span>]</span>
ログイン後にコピー

原因:PHP session目录的所有者:组是apache:apache,而不是www:www,与实际进程运行的用户身份不符。

更改PHP session目录的所有者:组为www:www:

# chown -R www:www /var/lib/php/session
ログイン後にコピー

从此,王子和公主过着没羞没臊的生活!

A. 参考资料

centos55升级php到53,报如下错误:

问题人家说的很清楚了:

Error: Missing Dependency: php-api = 20041225 is needed by package php-sqlite3-0.4-1.mf.i386 (installed)

建议人家也给你了:
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest

你缺少包:php-api
 

Centos58 怎把php5217升级到php533

centos5源里面php默认最高就是5.2
如果你想用php5.3。又不想自己编译安装在某个普通用户下面(切勿直接在root下编译安装替换系统的,会有很多问题的)
那还有一个选择。就是安装php53不过如果想装好,可能得先把php卸载掉。
在root用户下

yum remove php

然后再安装php53及所有相关组件
yum install php53*
 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles