在最爱源码网可以下载免费的程序源码资源,欢迎大家分享投稿!!

php报错internal server error的解决办法

php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的工作,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢。

解决方法

修改执行时间,php.ini 中 max_execution_time。在php.ini里查找

max_execution_time

默认是30秒.改为

max_execution_time = 0

0表示没有限制

另一个办法是在 PHP 程序中加入 ini_set(‘max_execution_time’, ‘0’),数值 0 表示没有执行时间的限制

另一种方法是可以在php程序中加入

set_time_limit();

来设定页面最久执行时间.

set_time_limit(0);//0表示没有限制
<?php 
//max_execution_time=100; 
ini_set("max_execution_time", 1); //用此function才能真正在运行时设置 
for($i=1; $i< 100000; $i++) 
{ 
echo "No. {$i}\n"; 
echo '<br />'; 
flush(); 
} 
?>

修改内存

需要注意的是,memory_limit 的值越高,即单个 PHP 进程占用的内存越多,系统能够并发处理的请求越少。例如,一个 2G 内存的机器

memory_limit 设为 128M, 则同时最多能处理 16 个请求
memory_limit 设为 256M, 则同时最多能处理 8 个请求
memory_limit 设为 512M, 则同时最多能处理 4 个请求

虚拟主机的 PHP memory_limit 是 PHP 单个脚本单次执行最大可用内存限制。默认限制为 256MB,最大可调整为 512MB。

现已知php7以下,单脚本执行最大内存限制是2G,php7不限制;

php里只要把memory_limit设为-1,就不会限制你跑cli脚本时的内存限制,剩下的就是操作系统ulimit会限制任何进程的最大内存。

配置 memory_limit 可以设置的吧,然后就看你可用物理内存了。

调整PHP脚本单次最大可执行时间为60秒

php_value max_execution_time 60

上述规则中的60可以替换为你需要的执行时间,单位为秒。我们允许的最大执行时间为180秒,为确保服务器性能,执行超过180秒的用户进程将被强制终止。

修改可执行时间是不推荐的操作。正常速度的网站程序,应当在2秒内完成执行。网站程序执行时间越长,访问者等待网站初次响应(传送第一个字节)的时间就越长。

如果你的网站在日常访问中经常遇到Request Timed Out超时错误,请优先检查网站程序设置和资源使用情况。超过10秒仍未响应的网站,大部分访问者会选择关闭网页。

不问缘由地增大可执行时间,不仅可能无法提升网站用户体验,而且可能使异常脚本无法及时终止,降低网站的负荷能力

网站侵权说明: 本站采用 CC BY-NC-SA 4.0 国际许可协议 进行许可,转载或引用本站文章应遵循相同协议。
1 本站为转载分享站点,不提供任何上传下载服务,所有内容均来自互联网第三方分享站点所提供的公开引用内容,不需要任何付费即可公开阅读。
2 本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3 本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
4 如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!我们会在24h内删除有争议的资源。

最爱源码网 » php报错internal server error的解决办法
升级VIP尊享更多特权立即升级