Questions tagged «php-fpm»

PHP-FPM(FastCGI流程管理器)是另一种PHP FastCGI实现,具有一些其他功能,可用于各种规模的站点,尤其是繁忙的站点。

6
PHP FPM授予权限被拒绝?
我阅读了几篇关于PHP-FPM为何会给我拒绝权限但我无法解决的条目。 错误日志显示如下: 2013/04/20 23:33:28 [crit] 15479#0: *6 open() "/var/lib/nginx/tmp/fastcgi /2/00/0000000002" failed (13: Permission denied) while reading upstream, client: 99.999.999.999, server: example.net, request: "GET /wp-admin/ HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock:", host: "example.net", referrer: "http://example.net/" 我有点但是迷失了: 我已经将/ var / lib / nginx / tmp设置为ec2-user(我什至要检查所有777) 我已经将/tmp/php-fpm.sock设置为ec2-user Nginx conf文件设置为ec2-user php-conf设置为用户和组ec2-user ps aux为ec2-user提供所有php-fpm和nginx进程 我的Nginx配置包含很多文件,基本配置为: user ec2-user ec2-user; …

2
pecl install mongo-不断使用错误的模块API进行编译
在此处使用Nginx和php5-fpm与Ubuntu 12.04 我的mongo在php 5.3上运行良好,然后我添加了ondrej / php5 ppa并更新为php5.4。它保留了GD和CURL扩展名,但没有mongo。我将该行重新添加到php.ini文件,什么也没有。然后我启用了启动错误并得到了这个: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mongo.so' - /usr/lib/php5/20100525/mongo.so: cannot open shared object file: No such file or directory 因此,很find -name 'mongo.so'容易猜到,我确实将文件从20090626 /移至20100525 / ...导致了此错误: PHP Startup: mongo: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20100525 …
9 php5  mongodb  pecl  php-fpm 

2
Nginx和PHP-FPM用尽了连接
我一直遇到这样的错误, [02-Jun-2012 01:52:04] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 19 idle, and 49 total children [02-Jun-2012 01:52:05] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 19 idle, and …
9 nginx  php-fpm 

1
手动访问PHP-FPM的/ status页面(绕过Apache)
有一个PHP5.3.3错误,不允许我通过Apache2查看php-fpm的/ status页面。有没有办法手动访问此数据?我无法升级该盒子(不支持Ubuntu 10.10,php5.3.4)。 我尝试过使用此处的技术进行连接:http : //inode.co.nz/testing-a-fastcgi-service,但是没有运气。
9 php-fpm  fcgi 

1
如何强制完全清除PHP7 opcache?
我的网络服务器上的opcache不断达到我设置的极限,即使我觉得我没有那么多的PHP代码,并且它确实应该有足够的空间。 即使清除操作缓存,它也会立即显示超过2/3的可用空间被填充,这一事实使情况更加复杂。 现在的示例: 运行opcache_reset()之前的phpinfo代码段: Used memory 122958472 Free memory 5552 运行opcache_reset()之后的phpinfo片段: Used memory 90691312 Free memory 43526416 我知道在PHP7中,(显然)将opcache备份到了磁盘上,所以可能正在自动重新加载内容?但这似乎无法达到重置操作缓存的目的,而且我不知道操作缓存将备份到磁盘上的哪个位置,因此无法检查。 我正在nginx上运行PHP-FPM,准确地说是vesion 7.0.15-0ubuntu0.16.04.4。
9 php  php-fpm  php7  opcache 

1
mod_fastcgi和mod_proxy_fcgi之间的区别
我一直在寻找答案,但似乎找不到与该问题相关的实质内容。 应该在Apache2.4上将mod_proxy_fcgi或mod_fastcgi与php-fpm一起使用吗? 在安全性和性能方面是否存在差异?有什么建议吗? 在此先感谢您的帮助。

2
Nginx + php-fpm-每个php-fpm在运行时处理70-100%cpu
我遇到以下情况: 我们使用8核,8gb ram,2.6 GHz频率的linode-使用nginx + php-fpm-我们获得了非常高的cpu使用情况图(我们不想成为如此糟糕的VPS邻居)... 我们一次在网站上的用户数少于100,因此这种情况也令人难以置信,这是因为我们的CPU使用率很高。 我们使用的是一个非常未知的,可能是cpu密集的php方式的,可疑的,可怕的框架,而不是众所周知的,文档完善,精心设计的其他框架,如wordpress或drupal,其中有很多关于缓存的文档(以及插件)处理缓存)在nginx + php_fpm平台上的php。 因此,我们有大约6个开放的php-fpm进程,它们在运行时分别消耗大量(30+,通常接近99%)的cpu-我丝毫不知道如何阻止他们使用太多的cpu 。我不知道是哪个PHP脚本导致了这些峰值,因为它们一直在发生……通常只有1或2个正在运行-但是当所有6个脚本运行时,我们会最大化所有8个cpus。 我的pool.d / www.conf文件具有以下设置: pm = dynamic pm.max_children = 10 pm.start_servers = 4 pm.min_spare_servers = 2 pm.max_spare_servers = 6 我们进行此^设置是因为,按照我的解释方式,我们的内存实际上是惊人的(htop显示使用了472/7000 + mb,没有交换等),并且我们可以处理更多的进程并中断等待获得的行已处理-但不幸的是,由于每个进程在运行时对我们的cpu来说过于繁琐-我们最终将CPU驱动通过屋顶-因此我们无法处理足够的进程。 问题 -我们到底该怎么做才能减少进程php-fpm cpu的使用,以便我们可以增加该pool conf文件中php-fpm的设置 -而且是的,/ var / log / php5- fpm.log大喊大叫我们要增加孩子并调整/增加最小/最大/启动服务器。但是,这样做会使我们的平均负载达到疯狂,如前所述。我们如何在不必使用缓存的情况下做到这一点或我们有哪些选择? 我的点子?我已经阅读了有关使用cpulimit的信息,以确保没有任何进程花费超过分配的cpu数量-但这会使速度变慢以致无法使用吗?或者这样做,我们可以提高运行多个流程的能力-我还认为可以运行两个池-一个池用于我们的前向网站(客户体验),另一个用于后端(这在一定时间影响我们的前向站点) -正在运行消耗性报告)。 我已经花了几天的时间在这个主题上进行研究,搜索等等,但是这很困难,因为每个人的情况对于他们的系统来说都是如此独特-问题在于这样一个特定的,闻所未闻的,可能写得不好的框架-很难找到解决方案。我们也不能只废弃此框架-我必须找到某种解决方案。 更新:我已经实现了memcache来存储php会话-因为该框架严重依赖于用户会话,并且我们系统的性质是员工经常一次使用多个选项卡-每个选项卡都返回到会话以确认功能/用户数据等...因此,我希望由此带来的效果有所提高-如果您愿意,欢迎对此发表评论-我将在明天达到更高的高峰时段时看看情况如何。

4
我可以在脚本执行之前全局设置$ _SERVER ['REDIRECT_URL']吗?
我正在将许多站点从旧服务器配置迁移到新服务器。每个站点都使用mod_rewrite URL基于相似(但遗憾的是不完全相同)的代码库。 Ubuntu 8.04 LTS => Ubuntu 12.04 LTS Apache 2.22.8 => Apache 2.2.22 PHP 5.2(FastCGI)=> PHP 5.3(PHP5-FPM) 大多数情况下,它的工作方式像一个超级按钮,但是在新配置中,不再设置$ _SERVER ['REDIRECT_URL'],并且由于依赖于此全局变量,导致代码失败。 据我了解,当重定向发生时,此变量由Apache设置。显然,这现在还没有发生,但是我正在努力寻找原因。 是Apache升级,还是(我猜)从PHP FastCGI切换到PHP5-FPM? 我如何找回这个变量? 我真的不想在每个站点上都编辑代码,因此如有必要,我将设置一个全局PHP auto_prepend,但理想情况下,我想修复服务器配置并将其设置为第一位。 可能相关:我现在还有几个新的$ _SERVER变量,即REDIRECT_SCRIPT_URL和REDIRECT_REDIRECT_SCRIPT_URL。这些似乎具有我想要的用于REDIRECT_URL的正确数据,但似乎也表明发生了两次以前没有发生过的内部重定向-Google搜索REDIRECT_REDIRECT_SCRIPT_URL只会返回随机的var_dump输出。SCRIPT_URL是新的REDIRECT_URL吗? 编辑1 再次检查REDIRECT_URL(现在)已设置,但始终设置为“ index.php”(mod_rewrite目标),而不是预期的键入URL。我求助于使用PHP auto_prepend_file手动设置所需的变量。 我不确定我是如何第一次错过它,但是在此期间我进行了几处更改,所以我认为外面没有机会。抱歉,如果这误导任何人。 编辑2 为了解决下面提到的ErrorDocument,使用的mod_rewrite规则是: RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L] $ _GET ['url']变量已设置,因此该规则必须有效。 需要明确的是,在此阶段,我已经采用了我最初提到的auto_prepend_file解决方法。

1
在php-fpm confs而不是php.ini中设置php值
我想在php-fpm conf文件中设置值,通常在php.ini中设置。我正在使用nginx。 我创建了以下设置,但是不确定是否可以使用。 php_value[memory_limit] = 96M php_value[max_execution_time] = 120 php_value[max_input_time] = 300 php_value[php_post_max_size] = 25M php_value[upload_max_filesize] = 25M 你觉得这样还可以吗? 当同时在php.ini和php-fpm conf文件中设置一个值时,会发生什么?php-fpm覆盖了ini一个? 最后,以这种方式可以为所有虚拟主机设置不同的值不是问题吗?我的意思是php.ini似乎是一个全局设置,而这取决于主机。不同的主机可以以不同的内存限制运行吗?

3
php5-fpm如果访问者过多,则会崩溃
我决定将我的OP从Litespeed更改为Nginx,因为我了解了很多有关Nginx会花费的低资源的信息。 我正在运行一个有500个用户在线的Wordpress网站 好的,谢谢你们的帮助:)我编辑了一些内容。 我还有一些问题: 我必须删除吗?下午之前。设置?我删除了它什么配置很重要?我在/ etc / php5 / fpm中有两个快速cgi,一个叫做php-fpm.conf,在/etc/php5/fpm/pool.d中有一个快速的cgi,叫做www.conf? 我一整夜都在尝试新的配置,当我醒来时,我已经有了空白页。最佳: top - 13:55:27 up 1 day, 19:28, 2 users, load average: 0.18, 0.36, 0.19 Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 3974264k total, 1051360k used, …
8 php  nginx  php-fpm 

5
Nginx / FPM / PHP所有的php文件都说“找不到文件”。
我刚刚在centos 5.8最终64位计算机上安装了nginx 1.1.13和php 5.4.0。Nginx和PHP / Fpm正在运行,我可以通过ssh命令行运行php脚本,但是在浏览器中,我一直在显示“找不到文件”。我所有PHP文件上的错误。 这就是我让nginx.conf处理PHP脚本的方式: location ~ \.php$ { root /opt/nginx/html; fastcgi_pass unix:/tmp/fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name; include fastcgi_params; } 这是我其他服务器的直接复制/粘贴,在此设置下可以正常工作(但它们运行的​​是php / fpm的旧版本)。 为什么会出现这些错误?
8 php  nginx  php-fpm 

3
Apache + PHP-FPM =随机的“错误解析脚本头” + Seg Faults
我已经使用proxy_fcgi与Apache 2.4一起安装了PHP-FPM,一切正常,但是4-6个请求中的每个请求,Apache都会返回一个空白页。这发生在我的主要网站http://danielhe.com/上,但不发生在子域虚拟主机上。 这显示了Apache的错误日志,[client x] AH01070:解析脚本头时出错 最终,有时Apache出现segfaults AH00052:子pid 9740退出信号分段错误(11) 通过几次刷新页面,我可以很容易地重现“错误解析脚本头”,但是在几次“错误解析脚本头”之后,seg错误会随机发生。 更新 我找到了针对段错误的修复程序,并且WSOD显然已经修复了自身。mod_deflate存在一些问题,但是Apache文档中的此配置对其进行了修复 SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI \ \.(?:gif|jpeg|jpg|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary

3
我的php-fpm配置有什么问题?
我有一个64位服务器,但只有256MB的RAM。因此,我移至带有fast-cgi的Nginx服务器以连接到PHP。我正在运行PHP 5.3.6。 问题是,每隔两三天,当我尝试访问任何PHP页面时,我就会收到服务器内部错误。唯一的解决方法是手动重新启动php-fpm。这意味着我应该设置一些错误的参数,导致其阻塞。下面我列出了相关的配置。 /etc/php-fpm.conf:- include=/etc/php-fpm.d/*.conf log_level = error ;emergency_restart_threshold = 0 ;emergency_restart_interval = 0 ;process_control_timeout = 0 /etc/php-fpm.d/www.conf:- [www] pm = dynamic pm.max_children = 10 pm.start_servers = 3 pm.min_spare_servers = 2 pm.max_spare_servers = 5 pm.max_requests = 500 /etc/nginx/php.conf:- location ~ \.php { fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE …

3
Nginx + Php5-fpm无法呈现php文件
我花了好几个小时弄清楚如何安装Nginx + Ruby企业版+ PHP5-fpm和MYSQL,终于全部安装好了,而且一切似乎都已经开始了。 但是由于某些原因,php文件未得到处理。 .html文件可以正常工作,但是当我尝试查看.php文件时,即使它存在,它似乎也不存在。有趣的是,当我尝试查看不存在的.html文件时,会收到一条不错的Nginx 404消息,但是当我查看.php文件时,甚至没有得到。 因此,据我的新手了解,似乎配置有问题,或者Nginx和PHP-fpm没有互相交谈。 我一直在看nginx配置文件的许多其他示例,并且我确定事情的一切都还可以。好吧...这还是conf文件的相关部分: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name; include fastcgi_params; } 和 fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; 任何帮助是极大的赞赏。 编辑:这是从测试php文件“ http://eman.id.au/test.php ” 返回的标头: HTTP/1.1 404 Not Found …
8 linux  nginx  php5  php-fpm 

5
在Ubuntu 12.04中更新到最新的稳定php
我们运行的是Ubuntu 12.04服务器,默认情况下安装了php 5.3.10。我以为Ubuntu只在更新中应用了错误修正,因此5.3.x之类的micros应该会通过。 显然,我们的版本没有更新,但是我们陷入了php中的一个严重错误,该错误已在5.3.15中解决。我应该等待更长的时间才能发布此版本吗?还是有安全的存储库供Ubuntu用来不断更新php和与php相关的软件包?
2 ubuntu  php  php-fpm 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.