升级php53
A. cpanl如何选择php版本以及扩展PHP包
PHP版本的选择
如果服务器在处理PHP包时遇到问题,你可能需要查看一下PHP的设置的方式。如果主机支持用户自主选择网站使用的PHP版本
扩展PHP包
扩展包是使用PHP脚本语言写出来的软件。cPanel使得搜索和添加PHP 扩展包到网站的操作更加容易
随着cpanel版本的升级PHP版本也要更新,所以才有了PHP版本的选择了!
工具/原料
cpanel虚拟主机管理系统
步骤/方法
PHP版本的选择: 登录cPanel,在主页的“软件”管理一栏中,单击“PHP Config”图标,你可以在转到的页面上进行选择。
不同版本的cPanel提供的修改方法可能会略有差别。请仔细阅读每个PHP版本下面的说明,选择适当的版本。
1、选择你希望使用的PHP版本,或者选择“系统默认”,即使用主机选择的版本;
2、单击“更新”,保存修改。
注意:如果在~/public_html/.htaccess中你自定义了句柄,修改这些设置将会覆盖原句柄。所以如果不确定,在修改设置前做好~/public_html/.htaccess的备份。
在该页面上还有一些附加扩展功能以供安装。
注意:这些附加扩展仅能修改你的~/public_html/php.ini文件。如果使用了这些更改,确保其他php初始化文件和你选择的PHP版本是配套的。我们强烈建立你选择“Single php.ini”的PHP版本,以保证网站软件使用适合的php初始化文件。如果选择了PHP 5.3版本,确保子文件夹使用的是"/usr/php/53/usr/bin/php",否则使用的将会是PHP 5.2版本。
扩展PHP包
登录cPanel,在主页的“软件”一栏下,单击“PHP PEAR”查看所有可用的PHP扩展包,可以搜索某个特定的扩展包。如果知道扩展包的名字,则可以直接添加。
查看所有可用的扩展包
1、单击“显示可用的PHP扩展和应用”;
2、单击“安装”,安装你需要的扩展包。
搜索扩展包
使用主题或关键字搜索:
1、在“搜索”框内输入关键字,单击“到”;
2、单击“安装”,安装你需要的扩展包。
单击“显示文档”,查看扩展包的创建者的文档。
安装扩展包
1、如果知道扩展包的名字,在“安装一个PHP扩展和应用包”下输入该名字;
2、单击“现在安装”。
已安装的PHP扩展和应用包列表
该列表可以帮助你管理已安装的扩展包。列表包括模块名称、版本和管理。
如果你认为某个扩展包过期了,单击“更新”,cPanel可以为你更新它。
如果某个扩展包损毁或丢失了,单击“重新安装”。
单击“卸载”,卸载扩展包。
单击“显示文档”,查看扩展包的文档。
系统模块
cPanel中已经事先安装过一些扩展包。单击“显示系统已安装的模块”,可以查看该列表。
记住:系统安装模块不能被删除。单击“显示文档”,查看系统安装扩展包文档。
下面附上一些常用的PHP指令
asp_tags:指服务器是否支持PHP代码中用<%and%>替代标准的<?php and ?>标签。如果这一项选项被关闭,则包含ASP标签的PHP脚本将不能正常运行。
file_uploads:指服务器是否支持PHP脚本介绍通过HTTP(也就是Web)上传的文件。
Include_path:定义网站寻找PHP文件的路径。确保将要的运行的所有PHP脚本都保存在指令指到的地方。
max_execution_time:一个PHP脚本最大运行时间,以秒为单位。该限制可以防止书写不当的脚本拖慢服务器。
max_input_time:一个PHP脚本处理接传入信息的最大时间,以秒为单位。该限制可以防止脚本过载而拖慢服务器。
memory_limit:一个PHP脚本可以包含的最大字节。该限制可以防止书写不当的PHP脚本占用服务器内存。当此处设置为-1,则没有内存限制。
register_globals:警告:此功能过时,需设置为关闭状态,否则网站将不安全。
safe_mode:该指令保证了用户运行PHP脚本时得到执行脚本中的任务的权限。例如,如果脚本命令修改一个文件,用户就需要更新该文件的权限。不过这条指令已经失效了,所以主机可能会关闭它。用户可以使用其他安全措施代替它。
session.save_psth:当访问者访问网站时,需要使用自己独一无二的用户ID。用户ID进行的会话,或者在网站上停留的时间等信息会被记录在主机中。该指令显示了这些信息被记录在何处。(PHP允许你为给定的访问者和会话设立特定的Web内容。)如果“值”那一列存在一个数字,则它指的是信息被存储在多少个目录中。如果你的网站流量很大,将会话的数据分配到多个文件夹内有助于服务器存储和检索这些信息。“值”那一列中文字是指包含会话信息子目录的目录的名字。
upload_max_filesize:上传文件最大字节数。
B. 濡备綍鍦╥is涓閰岖疆php杩愯岀幆澧冨备綍鍦╥is涓閰岖疆php杩愯岀幆澧
濡备綍鍦╥is涓嬭繍琛宲hp锛
IIS涓嬭繍琛孭HP镄勬柟娉:x0dx0a涓銆佸畨瑁匬HP5.3.6x0dx0a1)鍏抽棴阒茬伀澧欙纴灏唒hp5.zip瑙e帇鍒瘅:PHPPHPWINDOWS鐩褰昞x0dx0ax0dx0a3)鍒皃hp瀹夎呯洰褰(D:PHPPHPwindows闆嗗悎锲㈢洰褰曘俓x0dx0ax0dx0a2)镣瑰嚮钬沧椠灏勨濋夐”鍗′笂镄勨沧坊锷犫濇墦寮钬沧坊锷/缂栬緫搴旂敤绋嫔簭镓╁𪾢鏄犲皠钬濆硅瘽妗嗭纴镣瑰嚮钬滃彲镓ц屾枃浠垛濆悗镄勨沧祻瑙堚濆畾浣岲:PHP钥孎astCGI镓ц屾柟寮忔槸浠ュ崟涓绾跨▼𨱒ユ墽琛屾搷浣滐纴镓浠ヤ笉闇瑕佽繘琛岀嚎绋嬬殑瀹夊叏妫镆ワ纴闄ゅ幓绾跨▼瀹夊叏妫镆ョ殑阒叉姢鍙嶈屽彲浠ユ彁楂樻墽琛屾晥鐜囷纴镓浠ワ纴濡傛灉鏄浠FastCGI𨱒ユ墽琛孭HP锛屽缓璁阃夋嫨NonThreadSafe鐗堟湰銆
瀹樻柟骞朵笉寤鸿浣犲皢NonThreadSafe搴旂敤浜庣敓浜х幆澧冿纴镓浠ユ垜浠阃夋嫨ThreadSafe鐗堟湰镄凯HP𨱒ヤ娇鐢ㄣ
2锛岄厤缃畃hp
瑙e帇鍒版煇涓鐩褰曪纴濡俢:/php345
灏唒hp.ini-development閲嶅懡钖崭负php.ini
fastcgi.impersonate=1榛樿や负0锛屽傛灉浣跨敤IIS锛屼綘闇瑕佸紑钖锛歝gi.fix_pathinfo=1
cgi.force_redirect=0榛樿ゅ紑钖锛屽傛灉浣犱娇鐢↖IS锛屽彲浠ュ皢鍏跺叧闂
鍏舵℃寚瀹欤xtension_dir鐩褰曞拰date.timezone鐩褰
extension_dir="C:/php53iis/ext"
date.timezone=Asia/Shanghai
淇鏀笔HP.INI閰岖疆鏂囦欢涓镄刢gi.fix_pathinfo=1锛孭HP浼氢慨姝SCRIPT_FILENAME涓虹湡瀹炵殑鏂囦欢鍦板潃锛屽惁鍒橮HP灏嗘棤娉曟垒鍒伴渶瑕佸勭悊镄凯HP鏂囦欢銆
3锛岄厤缃畁ginx
瑙e帇nginx锛屽俢:/nginx
璁惧畾error.log镄勫瓨鏀剧洰褰曪纴灏#error_loglogs/error.log;镄#铡诲勶纴榛樿error.log鏄瀛樻斁鍦∟ginx瀹夎呯洰褰曚腑logs鐩褰曚笅銆
C. 在linux服务器上lamp环境中怎样安装php的扩展模块
在linux系统中:我们是直接安装mbstring扩展模块的。
首先我们执行一个yum的搜索命令:
系统便会自动下载并安装包了。之后询问你是否安装,输入y,回车,安装,完成!
然后重启服务器,如此,mb_strlen()函数就可用了。 本文属追太阳原创文章
D. Undefined variable: sql in D:\phpStudy\php53\1.php on line 16
第16行的$sql变量未定义就直接使用了字符串连接。
$sql.=",(null,'$username','$password')";
这句话等于:
$sql=$sql.",(null,'$username','$password')";
这时候等号后面的$sql就是个未定义变量,所以报了错。
正确做法应该在前面声明这个变量是个字符串:
$sql='';
$sql.=",(null,'$username','$password')";
E. 现在要升级php5.4已上的版本,怎么升级
一、前言
我们公司服务器上的PHP版本是5.2,真的太旧了,除了很多新特性无法使用之外,PHP5.4的性能也比5.2版本有所提高,有助于提供业务的吞吐量。今年,我们计划将公司所有业务的PHP版本升级为5.4.41。
二、升级前准备
在升级PHP版本之前,首先要做的是检查业务代码的语法兼容性。其实,在官网上已经有相关的升级指引,我参考的是这2个链接。
从 PHP 5.2.x 移植到 PHP 5.3.x:http://php.net/manual/zh/migration53.php
从 PHP 5.3.X 迁移到 PHP 5.4.X:http://php.net/manual/zh/migration54.php
官方的文档中,没有升级指引从PHP5.2直接升级到PHP5.4,因此,需要对以上的升级指引,做一个归纳总结。上面的链接中有好几篇子文章,我主要关注的是“不向下兼容的变化”,“PHP 5.3.x 中弃用的功能”,“被移除的扩展”,“其他改变”……,主要目的是找出不兼容的语法(导致错误),以及将会被移除的函数。
我们使用以下一个表格来进行总结,方便各业务的人员能够对照PHP版本升级带来的变化而修改各自的业务代码
以上内容摘抄自官网的一些说明,这里就不详细列出来了。
三、测试
完善的单元测试和功能测试可以保证PHP版本升级后能及时发现问题。
四、上线方案
灰度,再灰度,这个是我们的原则。上线的时候,先对一个机房的服务器PHP版本进行升级,再逐步覆盖到所有的服务器。与此同时,上线之后,要密切留意是否error.log里面是否包含“PHP Fatal error”的错误日志,服务器的响应状态是否正常。
---------------------