本文目录一览:
- 1、php mysql连接问题
- 2、WordPress怎么把 php升级5.4
- 3、apache2.4+mysql5.6+php5.4 配置,不能加载php_mysql.dll和php_mcrypt.dll,
- 4、php 未安装mysql是不是无法开启mysql扩展
- 5、安装php configure无法通过:报错Note that the MySQL client library is not bundled anymore!
- 6、php5.4怎么支持mysql5.7.4.0?
php mysql连接问题
环境变量的问题,只要将配置好的php.ini再拷贝一份到c:\windows下就OK了。这是笨办法。每次修改php.ini,记得都有再覆盖拷贝一次。
WordPress怎么把 php升级5.4
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 -v
PHP 5.4.8 (cli) (built: Nov 13 2012 00:08:08)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Tehnologies
再查看PHP-FPM的运行情况。那两天看文档,我才知道有PHP-FPM(FastCGI Process Manager)这么个东西,在5.4之后已经包括在PHP之中了,详见参考资料[]13][14]。
查看PHP-FPM使用的端口:
# netstat -ntpul | grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2881/php-fpm
查看PHP-FPM的进程:
# ps aux | grep php-fpm
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2881 0.0 0.2 204172 2064 ? Ss 2013 38:09 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www 18982 0.0 1.4 212796 14816 ? S 19:12 0:03 php-fpm: pool www
www 18983 0.0 1.4 211996 14572 ? S 19:13 0:03 php-fpm: pool www
www 18984 0.0 1.4 212276 14876 ? S 19:13 0:03 php-fpm: pool www
root 19144 0.0 0.0 103236 864 pts/0 S+ 23:29 0:00 grep php-fpm
查看PHP-FPM的版本:
# /usr/local/php/sbin/php-fpm -v
PHP 5.4.8 (fpm-fcgi) (built: Nov 13 2012 00:15:58)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
查看上次系统启动的时间,这是怕安装的东西没重启而没有生效:
# who -b
system boot 2013-01-04 01:07
# last reboot
reboot system boot 2.6.32-279.14.1. Fri Jan 4 01:07 - 20:36 (526+19:29)
reboot system boot 2.6.32-220.13.1. Mon Nov 12 17:53 - 20:36 (579+02:42)
reboot system boot 2.6.32-220.13.1. Thu May 10 17:12 - 17:13 (00:01)
reboot system boot 2.6.32-220.13.1. Wed May 9 15:31 - 15:36 (00:04)
reboot system boot 2.6.32-220.13.1. Wed May 9 15:03 - 15:29 (00:26)
reboot system boot 2.6.32-220.13.1. Wed May 9 10:09 - 12:26 (02:16)
reboot system boot 2.6.32-220.13.1. Thu May 3 17:23 - 17:25 (00:02)
reboot system boot 2.6.32-220.13.1. Fri May 4 01:17 - 17:22 (-7:-54)
reboot system boot 2.6.32-220.13.1. Fri Apr 20 21:33 - 17:22 (12+19:48)
reboot system boot 2.6.32-220.13.1. Sat Apr 21 03:39 - 17:22 (12+13:42)
reboot system boot 2.6.32-220.13.1. Fri Apr 20 18:02 - 17:22 (12+23:19)
reboot system boot 2.6.32-220.13.1. Thu Apr 19 19:51 - 17:59 (22:07)
其实这种担心是多余的,因为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。下面是我尝试的结果:
# yum update php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.hust.edu.cn
* extras: mirrors.163.com
* remi: mirrors.hustunique.com
* remi-php55: mirrors.hustunique.com
* updates: mirrors.163.com
Setting up Update Process
Package(s) php available, but not installed.
No Packages marked for 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]:
# wget
# wget
# rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
3.2 用yum安装PHP 5.5.13
从之前PHP 5.4.8下phpinfo()的输出,知道了旧的PHP 5.4.8上安装的PHP扩展,这样确定了下面需要安装的包(命令yum install之后的参数):
# yum install php php-fpm php-gd php-mysqlnd php-mcrypt php-mbstring php-pdo
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
libjpeg-turbo x86_64 1.2.1-3.el6_5 updates 174 k
replacing libjpeg.x86_64 6b-46.el6
libjpeg-turbo-devel x86_64 1.2.1-3.el6_5 updates 96 k
replacing libjpeg-devel.x86_64 6b-46.el6
php x86_64 5.5.13-3.el6.remi remi-php55 2.6 M
php-fpm x86_64 5.5.13-3.el6.remi remi-php55 1.3 M
php-gd x86_64 5.5.13-3.el6.remi remi-php55 69 k
php-mbstring x86_64 5.5.13-3.el6.remi remi-php55 958 k
php-mcrypt x86_64 5.5.13-3.el6.remi remi-php55 40 k
php-mysqlnd x86_64 5.5.13-3.el6.remi remi-php55 261 k
php-pdo x86_64 5.5.13-3.el6.remi remi-php55 109 k
Installing for dependencies:
apr-util-ldap x86_64 1.3.9-3.el6_0.1 base 15 k
fontconfig x86_64 2.8.0-3.el6 base 186 k
gd-last x86_64 2.1.0-2.el6.remi remi 129 k
httpd x86_64 2.2.15-30.el6.centos updates 821 k
httpd-tools x86_64 2.2.15-30.el6.centos updates 73 k
libX11 x86_64 1.5.0-4.el6 base 584 k
libX11-common noarch 1.5.0-4.el6 base 192 k
libXau x86_64 1.0.6-4.el6 base 24 k
libXpm x86_64 3.5.10-2.el6 base 51 k
libmcrypt x86_64 2.5.8-9.el6 epel 96 k
libtiff x86_64 3.9.4-10.el6_5 updates 343 k
libxcb x86_64 1.8.1-1.el6 base 110 k
libxslt x86_64 1.1.26-2.el6_3.1 base 452 k
mailcap noarch 2.1.31-2.el6 base 27 k
php-cli x86_64 5.5.13-3.el6.remi remi-php55 2.5 M
php-common x86_64 5.5.13-3.el6.remi remi-php55 1.0 M
php-pear noarch 1:1.9.4-28.el6.remi remi 373 k
php-pecl-jsonc x86_64 1.3.5-1.el6.remi.5.5 remi-php55 46 k
php-pecl-zip x86_64 1.12.4-1.el6.remi.5.5 remi-php55 269 k
php-process x86_64 5.5.13-3.el6.remi remi-php55 54 k
php-xml x86_64 5.5.13-3.el6.remi remi-php55 206 k
t1lib x86_64 5.1.2-6.el6_2.1 base 160 k
Transaction Summary
================================================================================
Install 31 Package(s)
yum自动计算出需要的依赖安装包,总共有31个安装包需要下载、安装。
apache2.4+mysql5.6+php5.4 配置,不能加载php_mysql.dll和php_mcrypt.dll,
最简单的办法:用集成环境包。
你这种情况,应该先确定php.ini里有没有开启mysql扩展
php 未安装mysql是不是无法开启mysql扩展
php.ini中的
extension=php_mysql.dll
extension=php_mysqli.dll
记得php文件夹下的ext文件夹内查看下有没有扩展文件,php_mysql.dll,php_mysqli.dll
前面是不是有分号(;)有的话去掉,再重启下apache看下
安装php configure无法通过:报错Note that the MySQL client library is not bundled anymore!
看你的问题应该是php编译的时候有问题吧 支持mysql的时候。 如果你不知道你的mysql库在哪里,你可以mysqlnd试试呢 php5.4貌似是支持的 我记得、
./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 你的参数
php5.4怎么支持mysql5.7.4.0?
你好,非常高兴为你解答:
需要在配置文件中进行相应的mysql配置,打开php下的配置文件php.ini,然后找到
extension=php_mysql.dll
extension=php_mysqli.dll
将前面的;删除掉,然后保存文件,就可以了。
希望有所帮助!