标签: fastcgi

Lighttpd 无法创建 php-fastcgi.socket

我已经使用 yum 安装了 FastCGI,并编辑了我的 lighttpd.conf,但是在重新启动服务器时我收到了这个错误。

2009-06-24 12:44:43: (log.c.97) server started 
2009-06-24 12:44:43: (mod_fastcgi.c.924) bind failed for: unix:/var/run/lighttpd/php-fastcgi.socket-0 No such file or directory 
2009-06-24 12:44:43: (mod_fastcgi.c.1365) [ERROR]: spawning fcgi failed. 
2009-06-24 12:44:43: (server.c.902) Configuration of plugins failed. Going down. 
Run Code Online (Sandbox Code Playgroud)

我的 lighttpd.conf 的相关部分是:

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                  #"socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                  #"bin-path" => "/usr/bin/php-cgi"
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )
Run Code Online (Sandbox Code Playgroud)

非常感谢。

php fastcgi lighttpd

5
推荐指数
1
解决办法
2万
查看次数

如何诊断 Lighttpd 上的内部服务器错误?

我在带有 Fcgi 和 Memcached 的 Centos 5 上安装了 Lighttpd。每隔一两周,我会收到一次内部服务器错误 500,我必须手动重新启动 lig​​httpd 以使其再次工作。

在我的 lighttpd 配置中,我定义了错误日志文件:

server.errorlog             = "/home/lxadmin/httpd/lighttpd/error.log"
Run Code Online (Sandbox Code Playgroud)

但是当我打开它时,它只有一个月前的最后几天没有行。

所以我的问题是如何诊断问题所在以及如何为我的配置启用错误日志?

logging fastcgi lighttpd

5
推荐指数
1
解决办法
1万
查看次数

fastcgi 有访问日志吗?

我正在尝试location在 nginx 中设置一个全局变量。除了需要 fastcgi 的 PHP 脚本之外,现在一切正常。他们正在运行 404。

有没有办法可以看到它正在访问的确切路径,以便我可以尝试调试一下并找出我做错了什么?

php nginx fastcgi

5
推荐指数
1
解决办法
2万
查看次数

在 Nginx 中禁用 FastCGI 读取超时?

有没有办法禁用 FastCGI 的读取超时?(fastcgi_read_timeout)

将其设置为零不起作用,只会导致立即超时。

  • nginx 1.0.5
  • PHP-FPM 5.3.6-13ubuntu3.6

我需要解决超时的原因是我们使用的系统生成报告的方式。由于在 PHP-FPM 中无法进行分叉(pctnl_fork() 被禁用),因此在发送请求后立即完成报告处理。这会导致读取挂起,直到系统完成处理。

nginx fastcgi php-fpm

5
推荐指数
1
解决办法
9016
查看次数

无法在 .htaccess 文件中设置 php_value

我正在尝试在我的 Apache2/PHP 服务器上设置 NewRelic,并让它报告每个虚拟主机的不同应用程序。为此,newrelic.appname必须更改php 值。它在默认情况下定义/etc/php.d/newrelic.ini为按虚拟主机报告,需要在该虚拟主机上专门设置,如下所述:https : //newrelic.com/docs/php/per-directory-settings

在我/etc/php.d/newrelic.ini的设置中:

newrelic.appname="PHP Application;MySite.com;"
Run Code Online (Sandbox Code Playgroud)

在我的虚拟主机中,我有以下配置:

<Directory "/">
    AllowOverride All
    php_value newrelic.appname "MySite.com"
</Directory>
Run Code Online (Sandbox Code Playgroud)

它是我的.htaccess

php_value newrelic.appname 'MySite.com'
Run Code Online (Sandbox Code Playgroud)

但是phpinfo()从与.htaccess我得到的文件相同的目录中的文件中查看服务:

 Directive Name     Local/Active Value  Master/Default Value
 -----------------------------------------------------------
 newrelic.appname   PHP Application     PHP Application
Run Code Online (Sandbox Code Playgroud)

通过 spawn-fcgi 使用 FastCGI。

任何其他建议将不胜感激。

php fastcgi .htaccess spawn-fcgi apache-2.2

5
推荐指数
1
解决办法
1万
查看次数

PHP-FPM 不显示在 phpinfo()

我已经使用本手册在 Centos + Apache 上安装了 php-fpm - http://www.howtoforge.com/using-php5-fpm-with-apache2-on-centos-6.2-p2但 PHP-FPM 未显示在 phpinfo 中()。我不知道为什么。在此处输入图片说明

PHP-FPM 进程已安装并运行良好:

# service php-fpm status
php-fpm (pid  13349) is running...
# service php-fpm configtest
[29-Apr-2013 14:17:34] NOTICE: configuration file /etc/php-fpm.conf test is successful
Run Code Online (Sandbox Code Playgroud)

我的/etc/php-fpm.conf

;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;

; All relative paths in this configuration file are relative to PHP's install
; prefix.

; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files …
Run Code Online (Sandbox Code Playgroud)

php centos fastcgi php-fpm apache-2.2

5
推荐指数
1
解决办法
1万
查看次数

nginx + fcgiwrap:fastcgi_param 的顺序怎么这么重要?

我正在运行Debian 6.0.3( squeeze), nginx-0.7.67, fcgiwrap-1.0-1+squeeze1. 这是测试脚本:

#!/usr/bin/perl
use 5.010;
use warnings;
use strict;

use Data::Dumper;

print "Content-Type: text/html\n\n";
say Dumper {map {$_ => $ENV{$_}} 'SCRIPT_NAME', 'DOCUMENT_ROOT', 'WHATEVER'};
say "$<, $>, $(, $)";
Run Code Online (Sandbox Code Playgroud)

这是nginx配置:

server {
    server_name   domain.com;
    root   /home/yuri/6;
    access_log   /var/log/nginx/domain.com-access.log;
    error_log   /var/log/nginx/domain.com-error.log;

    location /cgi-bin/ {
        fastcgi_pass   unix:/var/run/fcgiwrap.socket;
        fastcgi_param   DOCUMENT_ROOT   $document_root;
        fastcgi_param   DOCUMENT_ROOT   /home/yuri/7/;
        fastcgi_param   SCRIPT_NAME   $fastcgi_script_name;
        fastcgi_param   WHATEVER   1;
        fastcgi_param   WHATEVER   2;
    }

    location /1.php {
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_param   PHP_ADMIN_VALUE   cgi.fix_pathinfo=1;
        fastcgi_param …
Run Code Online (Sandbox Code Playgroud)

nginx fastcgi cgi

5
推荐指数
1
解决办法
8258
查看次数

Nginx 中的不同 PHP 配置

我有一个 web 服务器运行多个服务器(虚拟主机),使用 nginx 和 fastcgi 传递给 unix-socket。

我想要完成的是使用 beta.example.com 和 live.example.com 进行设置,其中实时站点的 error_reporting 已关闭(但仍记录到文件),而 beta 站点的 error_reporting 已打开。

因此,对于 Apache,我会在以下方面做一些事情:

<VirtualHost *:80>
    ServerName beta.example.com

    [...]

    php_flag display_errors on
    php_flag display_startup_errors on
    php_value error_reporting -1

    [...]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索时,我没有找到任何可以使用 fastcgi 将此类参数传递给 PHP 的地方。有谁知道如何做到这一点?

现在的配置是(简化):

server {
    server_name beta.example.com;
    [...]
    fastcgi_pass unix:/var/run/nginx/php-fastcgi.sock;
    fastcgi_index index.php;
}
Run Code Online (Sandbox Code Playgroud)

php nginx fastcgi php.ini

5
推荐指数
1
解决办法
5012
查看次数

PHP fastCGI 不会停止,尝试启动 PHP fpm

我安装了 php-fpm 并尝试启动它。得到以下错误:

ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
Run Code Online (Sandbox Code Playgroud)

所以看起来 php-fastcgi 正在使用地址:

[root@singularity ~]# netstat -tulnp | grep ":9000"
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      14595/php-cgi
Run Code Online (Sandbox Code Playgroud)

但我无法停止 php-fastcgi 服务:

[brad@singularity ~]$ sudo /etc/init.d/php-fastcgi stop
Stopping php-cgi:                                          [FAILED]
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?任何想法为什么?或者我可以在哪里查找错误?

php centos fastcgi

5
推荐指数
1
解决办法
2万
查看次数

在nginx配置文件中,如何定义一个包含“$”符号的fastcgi_param?

我正在尝试为 PHP 应用程序定义一些环境变量,但其中一个变量包含“$”符号。当我使用 测试配置文件时nginx -t,我收到一条错误消息,告诉我变量不存在。好像把“$”后面的文字解释为变量名,当然没有定义。

也许我没有在正确的地方搜索,但我找不到有关如何转义“$”字符的信息。这可能吗?怎么做?

更新:我尝试在 d3ag0s 的评论之后将值括在单引号和双引号之间,但我收到了相同的错误消息。

configuration nginx fastcgi environment-variables escaping

5
推荐指数
1
解决办法
2985
查看次数