码迷,mamicode.com
首页 > Web开发 > 详细

PHP has xxx Problem

时间:2015-08-31 17:23:28      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

【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.

(仅供参考,具体适各自网站和空间情况)

总之,空间商业务生产的环境(问题)的要么是网站放多了要么就是大量网站在修改内容导致的。

版权声明:本文为EnweiTech原创文章,未经博主允许不得转载。

PHP has xxx Problem

标签:

原文地址:http://blog.csdn.net/enweitech/article/details/48136185

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!