好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

phpcgi阻塞 php curl防止阻塞

很多站长朋友们都不太清楚phpcgi阻塞,今天小编就来给大家整理phpcgi阻塞,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 502 bad gateway怎么解决 2、 服务器php-cgi.exe进程过多,导致CPU占用100% 3、 服务器很多php-cgi.exe进程。导致CPU占用100%怎么解决 4、 php-cgi.exe经常自己崩溃,这是什么原因 502 bad gateway怎么解决

502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意的协议交换数据。

第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。

第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway

第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。

第四种原因:php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。

第五种原因:磁盘空间不足,如mysql日志占用大量空间。

第六种原因:查看php-cgi进程是否在运行。

另外的解决办法:

Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。

php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。

在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。

计算的方式如下:如果服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。如果做不到这一点,也就 是说PHP-CGI可能出现某个BUG,或者宽带不够充足或者其他的原因导致PHP-CGI假死那么就建议给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好可以设置越高,20分钟-30分 钟都可以。

而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。

按照官方的答案,排查了相关的可能,并结合了网友的答案,得出了下面的解决办法:

1、查看php fastcgi的进程数(max_children值)代码:netstat -anpo | grep “php-cgi” | wc -l

5(假如显示5)

2、查看当前进程,代码:top观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据机器实际状况而定)

3、调整/usr/local/php/etc/php-fpm.conf 的相关设置

<value name=”max_children”>10</value>

<value name=”request_terminate_timeout”>60s</value>

max_children最多10个进程,按照每个进程20MB内存,最多200MB。

request_terminate_timeout执行的时间为60秒,也就是1分钟。

服务器php-cgi.exe进程过多,导致CPU占用100%

你的现象一般有两种可能,一是PHP脚本问题,例如你在PHP脚本后面写一个按回车结束,然后从标准输入读数据,可能会造成阻塞,使得进程无法结束。进行测试的方法的是写一个最简单的PHP脚本(例如只有phpinfo();一行),然后不断用浏览器打开这个页面,如果CGI进程也在增加,那么说明是下面一种情况。

另外一种情况是PHP版本安装不对,在WINDOWS下用CGI方式工作,不要安装“线程安全”版本,应该安装“非线程安全”的版本,否则会出现你的情况。

服务器很多php-cgi.exe进程。导致CPU占用100%怎么解决

用Module吧~~~在php目录中install.txt里有。

使用Apache设置。

LoadModule php4_module "c:/php/php4apache2.dll"

# Don't forget to copy the php4apache2.dll file from the sapi directory!

AddType application/x-httpd-php .php

# For PHP 5 do something like this:

LoadModule php5_module "c:/php/php5apache2.dll"

AddType application/x-httpd-php .php

# configure the path to php.ini

PHPIniDir "C:/php"

php-cgi.exe经常自己崩溃,这是什么原因

有可能程序本身被破坏,也有可能代码有问题,或者你用过一些不稳定的php扩展。或者某些杀毒软件误杀这个进程。

关于phpcgi阻塞的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpcgi阻塞 php curl防止阻塞的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did210168
更新时间:2023-05-03   阅读:33次

上一篇: 学php用什么编程软件 学php用什么编程软件好

下一篇:注销账号php 注销账号后实名认证信息会清空吗

相关资讯

最新资料更新

  • 1.php获取阴历 php获取日期
  • 2.php使用嵌套for php解析嵌套json
  • 3.php分页页数太多 在php中如何对多条记录进行分页
  • 4.php每个小时执行 php定时执行每天执行一次
  • 5.php数据导出csv php导出大量数据
  • 6.php项目的更新 php版本升级对程序影响
  • 7.php界面怎么设置 php界面设计
  • 8.phpword读写 php读写word 文档
  • 9.php变量获取图片 php调用图片
  • 10.php下载csv乱码 php下载文件名乱码
  • 11.数组对象转为数组php 对象数组转string
  • 12.php人员查询系统 php信息查询系统
  • 13.php合并特殊字符 php合并单元格的代码
  • 14.订餐系统php 订餐系统升级维护,请前往
  • 15.php生成vcard php生成验证码
  • 16.php5.2.8安装 php安装教程
  • 17.php显示字段内容 php限制显示字数
  • 18.php网站下载图片 网站的php文件下载
  • 19.php操作redis存值 php redis数据类型
  • 20.phpkey排序 php 排序函数

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]