标签: php-fpm

为什么PHP文件被下载而不是由Nginx处理?

我看到了同样的问题,许多解决方案都指向添加类型处理程序,但那是针对 Apache 的。

我正在使用 Arch Linux、Nginx、PHP 和 PHP-FMP,但我无法弄清楚为什么 php 文件正在下载而不是运行。

这是我的 nginx.conf:

#user http;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / { …
Run Code Online (Sandbox Code Playgroud)

php nginx php-fpm

12
推荐指数
2
解决办法
3万
查看次数

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/"
Run Code Online (Sandbox Code Playgroud)

我有点但迷路了:

  1. 我已将 /var/lib/nginx/tmp 设置为 ec2-user(我什至 +777 需要检查的所有内容)
  2. 我已将 /tmp/php-fpm.sock 设置为 ec2-user
  3. nginx conf 文件设置为 ec2-user
  4. php-conf 设置为用户和组 ec2-user
  5. ps aux 为所有 php-fpm 和 nginx 进程提供 ec2-user

我的 Nginx 配置包括很多文件,基本配置是:

user              ec2-user ec2-user;
worker_processes  5;  
error_log /opt/nginx/error.log;    
pid        /var/run/nginx.pid;    
events {
    worker_connections  1024;
}
http {
    include       mime.types; …
Run Code Online (Sandbox Code Playgroud)

nginx php-fpm amazon-ec2

12
推荐指数
2
解决办法
3万
查看次数

Nginx/PHP-FPM 长日志行被截断

我不确定这是 Nginx 或 PHP-FPM 设置,但长日志行被截断。是否有增加最大日志行长度的设置?

php nginx fastcgi php-fpm fcgi

11
推荐指数
3
解决办法
9820
查看次数

如何通过 NGINX 配置 PHP-FPM 以写入每个虚拟主机的日志文件

我有带有 Nginx 和 PHP-FPM 的 Fedora 16。一切都很好。所有带有 PHP 通知、警告、错误等的日志都在/var/log/php-fpm/www-error.log.

有没有办法配置 PHP-FPM 在配置为 Nginx 错误日志的正确日志文件中写入错误?所以我想记录每个虚拟主机的PHP 错误而不是在一个全局文件中。(就像在 Apache Httpd 和 PHP 中一样)。

linux nginx logging php-fpm

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

配置userdir时nginx fastcgi“主脚本未知”

我讨厌配置 nginx。这太复杂了。如何让 PHP 在我的用户目录中工作?这是我的 nginx.conf 的相关部分:

    location ~ ^/~(.+?)(/.*)?$ {
        autoindex on;
        autoindex_exact_size off;
        alias /home/$1/public_html$2;

        location ~ \.php {
            include /etc/nginx/fastcgi.conf;
            fastcgi_intercept_errors on;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这给了我错误:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream在 nginx 错误日志中。

这是我的/etc/nginx/fastcgi.conf

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol; …
Run Code Online (Sandbox Code Playgroud)

nginx fastcgi php-fpm

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

如何将自定义参数从 Nginx 传递给 PHP?

我正在与passNginx 1.2.4结合使用并尝试将自定义参数传递给. 以下是我目前找到的选项:PHP-FPM 5.4.8fastcgiPHP

  • 使用env指令设置环境变量 innginx并使用getenv()$_ENVfrom获取它PHP。问题是env只在main上下文中操作,而我需要在上下文中设置参数server

  • 使用fastcgi_param专为此设计的指令。

我曾尝试使用更改某些参数的值fastcgi_param但未成功:

nginx:

fastcgi_param PATH_INFO "/var/tmp";
Run Code Online (Sandbox Code Playgroud)

PHP:

我检查了我能找到的所有预定义数组:

echo '<pre>';
echo "\n".'$GLOBALS'."\n"; var_dump($GLOBALS);
echo "\n".'$_SERVER'."\n"; var_dump($_SERVER);
echo "\n".'$_GET'."\n"; var_dump($_GET);
echo "\n".'$_POST'."\n"; var_dump($_POST);
echo "\n".'$_FILES'."\n"; var_dump($_FILES);
echo "\n".'$_REQUEST'."\n"; var_dump($_REQUEST);
echo "\n".'$_SESSION'."\n"; var_dump($_SESSION);
echo "\n".'$_ENV'."\n"; var_dump($_ENV);
echo "\n".'$_COOKIE'."\n"; var_dump($_COOKIE);
echo "\n".'$php_errormsg'."\n"; var_dump($php_errormsg);
echo "\n".'$HTTP_RAW_POST_DATA'."\n"; var_dump($HTTP_RAW_POST_DATA);
echo "\n".'$http_response_header'."\n"; var_dump($http_response_header); …
Run Code Online (Sandbox Code Playgroud)

php nginx fastcgi php-fpm

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

如何在 php-fpm 日志文件上设置 644 权限?

位于 /var/log/php-fpm.log 中的 FPM 日志文件具有权限rw-------(600)。其他日志文件有rw-r--r--. 如何将文件权限配置为 644?

php-fpm

11
推荐指数
1
解决办法
2116
查看次数

Nginx + PHP-FPM 产生 502 bad gateway 而不是致命错误?

我目前正在使用 Nginx 和 PHP-FPM 测试 Symfony2。我也使用 Xdebug。

Symfony2 带有一个 Demo 包,我想通过在 Acme/Demo 包中创建一个语法错误来测试 Symfony 2.2.0 附带的致命错误的新处理。为什么我这样做,服务器响应是 502 bad gateway。

但是如果我在文件 app_dev.php 中出现语法错误(所以在框架被触发之前),那么 Xdebug 会告诉我致命错误。

令人惊讶的是,如果我修复了那个错字,然后在 Acme/Demo 包中重新创建语法错误,那么 Symfony 错误处理程序就会按预期出现。最后,如果修复所有错别字(页面有效),然后再次重新创建相同的错字(再次在 Acme/Bundle 中),我会得到一个错误的网关。

你有什么线索吗?

php nginx php-fpm xdebug symfony

11
推荐指数
1
解决办法
5312
查看次数

各种虚拟主机的不同 php.ini 设置(php-fpm)

我在 serverFault 上搜索了 allot 并找到了这个解决方案......

将其包含在虚拟主机中应该可以工作:

  php_admin_flag register_argc_argv = On
  php_value max_execution_time = 1000
  php_value session.gc_maxlifetime = 15000
  php_admin_flag magic_quotes_gpc = on
Run Code Online (Sandbox Code Playgroud)

但比它让我明白,我根本没有使用 mod_php。我已经安装了 php-fpm。如果我的方法有效,或者是否有其他方法,我真的找不到任何信息......

那么,如果我有 php-fpm 并且想要为虚拟主机设置不同的设置,我该怎么办?

S。

php-fpm apache-2.2

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

php-fpm 向 nginx 返回空响应

nginx 正在通过 fastcgi 连接到 php-fpm,使用/etc/nginx/fastcgi_params位置块中的标准。

当从命令行连接到 /.status (php-fpm.ini::ping.path) 时cgi-fcgi -bind,结果按预期返回(X-Powered-By 设置、响应正文等)。

当使用 nginx 请求时,结果返回空(X-Powered-By 设置,没有正文长度或内容)。nginx 返回 200,因为它得到了“有效”响应。

监视 tcpdump,我在它们的 FCGI 标头中隔离了对奇偶校验的请求(减去仍由 shell 设置的用户相关环境变量。)

php nginx fastcgi php-fpm

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

标签 统计

php-fpm ×10

nginx ×8

php ×5

fastcgi ×4

amazon-ec2 ×1

apache-2.2 ×1

fcgi ×1

linux ×1

logging ×1

symfony ×1

xdebug ×1