PHP has xxx Problem
2015-08-31 16:50
525 查看
【PHP has encountered a Statck overflow】
描述:PHP遇到堆栈溢出
解决办法:
1、请检查您的 MySQL 帐号是否有相应的权限或者网站更目录是否有相应的匿名来宾权限(iis_user)。
2、检查一下应用下的 config 配置文件中的连接数据库的帐号是否正确。
3、检查一下数据库是否满了,如果数据库满了没有空间后也会出现这种情况。
PHP has encountered a Stack overflow
空间内存不足或者服务器的php版本问题
[案例]
Q:客户在使用phpcms一段时间后,更新栏目缓存 老是提示:PHP has encountered a Stack overflow
S:客户在把一些栏目删除或者新增栏目时没更新栏目缓存.还有就是用户在修改栏目时,不小心将上级栏目修改成本栏目ID,这样也会出现这个提示
导致v9_category表里有原来的垃圾信息,多余的表。
通过phpmyadmin找到多余的表,删除后恢复正常。
【PHP has encountered an Access Violation at 016E73DD】
最好先查看系统日志文件,我们从日志中就可以发现很多问题。
我们就是因为数据库表出错,修复一下就可以了,重启下iis或重启下服务器试试。
出现的原因:网站内存占用高与服务器内存资源少,IIS应用池资源不能即时回收导致
(例如phpwind网站主要是在unix环境下开发的,但是作者忽略到windows实际上不像u主机那样,是没有u主机的那种内存共享机制的——典型的php版本和系统兼容问题)
解决方法:
1、服务器设置:
1)设置IIS应用池回收时间小于60分钟(默认是1740分钟,很多服务器都没改过)
2)应用池可支配大小不低于500M
3)CPU使用限制不低于50%(部分服务器为了提供更多虚拟机给站长使用,限制了CPU使用率)
4)可以安装php的eAccelerator模块,网站可提速5-10倍,还可减少pw9的文件加载资源消耗
2、网站优化(IIS 虚拟机用户):
1)后台关闭debug模式
2)把模块属性里的“数据更新周期”设为480分钟,并设置“数据更新区间”设为“开始于1点0分 结束于10点0分”
意思就是数据自动更新时间在访问空闲时段,避免高峰数据更新占用大量内存和CPU资源。如果还出现,直接把周期设为0,手动更新。模块包括默认的喜欢页和话题页模块以及拖曳、导入的模块
3)后台全局里设置防刷新时间间隔3秒
4)减少二级域名和伪静态的使用,这个很占用资源
额外的话:虚拟主机用户使用前请先确认php有没有安装zlib模块(用于应用安装)和socket模块(curl模块)用于应用中心以及windid通信。另外高版本的PHP和Mysql存在兼容性的问题。
其他VPS/云主机/独立服务器设置原因详解参考资料http://www.jb51.net/article/10072.htm.
(仅供参考,具体适各自网站和空间情况)
总之,空间商业务生产的环境(问题)的要么是网站放多了要么就是大量网站在修改内容导致的。
描述:PHP遇到堆栈溢出
解决办法:
1、请检查您的 MySQL 帐号是否有相应的权限或者网站更目录是否有相应的匿名来宾权限(iis_user)。
2、检查一下应用下的 config 配置文件中的连接数据库的帐号是否正确。
3、检查一下数据库是否满了,如果数据库满了没有空间后也会出现这种情况。
PHP has encountered a Stack overflow
空间内存不足或者服务器的php版本问题
[案例]
Q:客户在使用phpcms一段时间后,更新栏目缓存 老是提示:PHP has encountered a Stack overflow
S:客户在把一些栏目删除或者新增栏目时没更新栏目缓存.还有就是用户在修改栏目时,不小心将上级栏目修改成本栏目ID,这样也会出现这个提示
导致v9_category表里有原来的垃圾信息,多余的表。
通过phpmyadmin找到多余的表,删除后恢复正常。
【PHP has encountered an Access Violation at 016E73DD】
最好先查看系统日志文件,我们从日志中就可以发现很多问题。
我们就是因为数据库表出错,修复一下就可以了,重启下iis或重启下服务器试试。
出现的原因:网站内存占用高与服务器内存资源少,IIS应用池资源不能即时回收导致
(例如phpwind网站主要是在unix环境下开发的,但是作者忽略到windows实际上不像u主机那样,是没有u主机的那种内存共享机制的——典型的php版本和系统兼容问题)
解决方法:
1、服务器设置:
1)设置IIS应用池回收时间小于60分钟(默认是1740分钟,很多服务器都没改过)
2)应用池可支配大小不低于500M
3)CPU使用限制不低于50%(部分服务器为了提供更多虚拟机给站长使用,限制了CPU使用率)
4)可以安装php的eAccelerator模块,网站可提速5-10倍,还可减少pw9的文件加载资源消耗
2、网站优化(IIS 虚拟机用户):
1)后台关闭debug模式
2)把模块属性里的“数据更新周期”设为480分钟,并设置“数据更新区间”设为“开始于1点0分 结束于10点0分”
意思就是数据自动更新时间在访问空闲时段,避免高峰数据更新占用大量内存和CPU资源。如果还出现,直接把周期设为0,手动更新。模块包括默认的喜欢页和话题页模块以及拖曳、导入的模块
3)后台全局里设置防刷新时间间隔3秒
4)减少二级域名和伪静态的使用,这个很占用资源
额外的话:虚拟主机用户使用前请先确认php有没有安装zlib模块(用于应用安装)和socket模块(curl模块)用于应用中心以及windid通信。另外高版本的PHP和Mysql存在兼容性的问题。
其他VPS/云主机/独立服务器设置原因详解参考资料http://www.jb51.net/article/10072.htm.
(仅供参考,具体适各自网站和空间情况)
总之,空间商业务生产的环境(问题)的要么是网站放多了要么就是大量网站在修改内容导致的。
相关文章推荐
- 编译安装php
- yum安装ftp服务器
- php代码的一些高效写法
- thinkPHP中Model文件加下类的问题
- Spawn-fcgi与PHP-FPM区别
- vsftpd基本配置(原)
- YII 1.0 设置关联模型
- [备忘]Windows Server 2008 R2部署FTP FileZilla Server防火墙设置
- YII 1.0 分页类
- ThinkPHP入门-1
- ECSHOP在PHP5.5及高版本上报错的解决方法
- PHP中 array_map 与 array_column 之间的关系
- PHP递归实现无限级分类
- PHP截取中英文
- FragmentPagerAdapter和FragmentStatePagerAdapter的区别
- ThinkPHP自动填充实现无限级分类的方法
- NTP协议
- php 静态绑定中的static::与修饰符private,public,protected之间的关系
- [thrift]用于php服务端的header系列函数
- PHP 后期静态绑定之self::限制