好得很程序员自学网
  • 首页
  • 后端语言
    • 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安装教程详解

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

本文目录一览: 1、 linux php-cgi 如何启动 2、 如何把php-cgi环境添加到系统的环境变量中 3、 502 bad gateway怎么解决 linux php-cgi 如何启动

用户可以参考如下php-cgi安装启动过程。

1、解包

tar zxvf php-5.2.6.tar.gz

2、安装

cd php-5.2.6/

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-zlib-dir --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-gd --enable-ftp --with-iconv --with-gettext --with-curl --enable-fastcgi --with-openssl

make make install

cd /usr/local/php/lib

cp php.ini-dist php.ini

cp /usr/local/php/bin/php /usr/bin/php-cgi

3、修改php.ini

nano php.ini 按f6然后输入extension_dir

查找/usr/local/php/etc/php.ini中的extension_dir = "./"

修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

4、启动php-cgi

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -f /usr/bin/php-cgi

nginx配置文件中的 fastcgi_pass 127.0.0.1:9000; 就是根据上面来的

5、查看一下

[zhangy@BlackGhost www]$ ps -e|grep php-cgi

3737 ? 0 php-cgi

3738 ? 00:00:03 php-cgi

3739 ? 00:00:03 php-cgi

3740 ? 00:00:04 php-cgi

3741 ? 00:00:03 php-cgi

3742 ? 00:00:03 php-cgi

如何把php-cgi环境添加到系统的环境变量中

第一步:找到系统PHP的安装路径 例如:D:\PHP,这里包含php-cgi.exe 第二步:以win7系统为例,鼠标右键计算机属性 第三步: 点击高级系统设置 第四步:点击环境变量 第五步:设置PATH属性,添加PHP所在路径,注意:前面加分号 第六步:点击确定,在命令行下输入php-cgi -v,显示如下,说明安装成功

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分钟。

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

查看更多关于phpcgi安装 php安装教程详解的详细内容...

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

上一篇: 系统设计书php 系统设计代码设计

下一篇:php数组调用标题 php数组操作函数

相关资讯

最新资料更新

  • 1.phpwhere循环 php中的循环
  • 2.php菱形的输出 php输出菱形星号
  • 3.零基础php模板 php0基础教程
  • 4.phph5开发 php开发程序
  • 5.php绘制健康码 php源码怎么搭建网站
  • 6.php7.1des加密 php7 加密
  • 7.php会做流控吗 php流程控制
  • 8.包含asp和php互通的词条
  • 9.php会员登录与注册 php 用户登录
  • 10.php物业台账公式 物业台账是什么意思
  • 11.破解php登录才能查看 破解php登录才能查看吗
  • 12.php设备判断在线 php判断用户在线状态
  • 13.php数组冒泡排序 php冒泡排序面试题
  • 14.扫描登录php代码 扫描登录php代码错误
  • 15.php可以回收吗 php还有人用吗
  • 16.文章加载更多php php加载html
  • 17.php数据库的建立 php中数据库怎么设计
  • 18.下载并安装php 下载并安装央视网
  • 19.php写循环下拉页面 php下拉菜单的代码
  • 20.php获取url# php获取url id

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

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