扫码关注官方订阅号
如何用最简单的方式,实现对php网站的优化?
学习是最好的投资!
网站的优化范围太大. 其实优化PHP代码得到的性能提升远不如优化前端. 毕竟网络请求更耗时, 动辄几秒的请求, 更有优化空间, 而PHP代码只要写的不是太烂, 优化的空间没有前端那么大.
前端的优化可以搜索关键词 "yahoo前端优化的黄金法则". 而后端的优化, 设计方式上更有优化空间, 比如说多用缓存, 多用几级缓存, 一句话, 尽量避免查询数据库.PHP代码本身的优化也有很多, 下面给几条:
少用include_once/require_once多用include/require, 理由是前者会查找有无载入.所以更耗时.
include_once/require_once
include/require
使用关联数组的key时, 用引号括起来. 因为没有引号会被当成常量, 如果常量不存在, 就会被转成字符串, 并抛出一个notice级别的错误.
key
notice
多用PHP自带函数, 而不是用PHP自己再实现一个.
写循环语句的时候, 不要在判断条件中使用函数. 这样会使用N次这个函数.
其实还有很多, 只是一时想不起来了. 题主有兴趣可以自己上搜索引擎搜.
而数据库查询语句的优化也是非常重要的. 同样是mysql数据库, 能支撑alibaba/facebook这样的巨型公司, 但是连你的小网站可能都撑不起.
上PHP7,开ZendOpcache,对WordPress这些复杂一些的PHP Web程序效果明显.
在Oreilly的《PHP编程》中有一段话:
优化执行时间——缩短脚本执行时间有一些小建议:1、避免使用printf() ,只用echo();2、避免在循环中重新计算值,因为php不会移除循环不变量。
for($i = 0 ; $i<count($array) ; $i++){ //不要这么做 }
$num = count($array); for($i = 0 ; $i<$num ; $i++){ //应该这样做 }
3、只包含必要的文件。分离出包含文件中确定要用的函数,将他们放在一起。虽然代码维护多了一点,但解析你不用的代码也是浪费的。4、如果用了数据库,要使用持久化数据库连接——启动和关闭数据库是比较慢的。5、当可以用简单的字符串操作函数时,就不要用正则表达式。例如换一个字符,应该str_replace()而不是preg_replace()。
优化内存占用1、用数字替代字符串
for($i = "0" ; $i<"10" ; $i++){ //不好 } for($i = 0 ; $i<10; $i++){ //好 }
2、当处理完一个大字符串,把保存字符串的变量设置为空,这会释放内存以便重用;3、只包含必需的文件。用include_once和require_once,替代include和require。4、处理完mysql结果集后立刻释放。在内存中保存使用后的结果集没有任何好处。
这个话题太宽了,个人感觉PHP代码只要不写得太蠢,都不会有太大的问题。网站更需要优化的可能是前端和数据库,前端资源会拖累网站速度,数据库查询更能影响网站的响应速度。感觉后端更多的时间都在于如何优化数据库上。
最简单粗暴的做法,开启opcahce
可以加上缓存 redis memcache 等 一般WEB性能的瓶颈在数据库 mysql的优化也是很重要的 SQL语句可以用explain 看看执行计划 优化SQL 优化索引
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
网站的优化范围太大. 其实优化PHP代码得到的性能提升远不如优化前端. 毕竟网络请求更耗时, 动辄几秒的请求, 更有优化空间, 而PHP代码只要写的不是太烂, 优化的空间没有前端那么大.
前端的优化可以搜索关键词 "yahoo前端优化的黄金法则".
而后端的优化, 设计方式上更有优化空间, 比如说多用缓存, 多用几级缓存, 一句话, 尽量避免查询数据库.
PHP代码本身的优化也有很多, 下面给几条:
少用
include_once/require_once多用include/require, 理由是前者会查找有无载入.所以更耗时.使用关联数组的
key时, 用引号括起来. 因为没有引号会被当成常量, 如果常量不存在, 就会被转成字符串, 并抛出一个notice级别的错误.多用PHP自带函数, 而不是用PHP自己再实现一个.
写循环语句的时候, 不要在判断条件中使用函数. 这样会使用N次这个函数.
其实还有很多, 只是一时想不起来了. 题主有兴趣可以自己上搜索引擎搜.
而数据库查询语句的优化也是非常重要的. 同样是mysql数据库, 能支撑alibaba/facebook这样的巨型公司, 但是连你的小网站可能都撑不起.
上PHP7,开ZendOpcache,对WordPress这些复杂一些的PHP Web程序效果明显.
在Oreilly的《PHP编程》中有一段话:
优化执行时间——缩短脚本执行时间有一些小建议:
1、避免使用printf() ,只用echo();
2、避免在循环中重新计算值,因为php不会移除循环不变量。
3、只包含必要的文件。分离出包含文件中确定要用的函数,将他们放在一起。虽然代码维护多了一点,但解析你不用的代码也是浪费的。
4、如果用了数据库,要使用持久化数据库连接——启动和关闭数据库是比较慢的。
5、当可以用简单的字符串操作函数时,就不要用正则表达式。例如换一个字符,应该str_replace()而不是preg_replace()。
优化内存占用
1、用数字替代字符串
2、当处理完一个大字符串,把保存字符串的变量设置为空,这会释放内存以便重用;
3、只包含必需的文件。用include_once和require_once,替代include和require。
4、处理完mysql结果集后立刻释放。在内存中保存使用后的结果集没有任何好处。
这个话题太宽了,个人感觉PHP代码只要不写得太蠢,都不会有太大的问题。网站更需要优化的可能是前端和数据库,前端资源会拖累网站速度,数据库查询更能影响网站的响应速度。感觉后端更多的时间都在于如何优化数据库上。
最简单粗暴的做法,开启opcahce
可以加上缓存 redis memcache 等 一般WEB性能的瓶颈在数据库 mysql的优化也是很重要的
SQL语句可以用explain 看看执行计划 优化SQL 优化索引