Questions tagged «php-fpm»

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

2
Nginx + PHP-FPM产生502错误的网关而不是致命错误?
我目前正在使用Nginx和PHP-FPM测试Symfony2。我也使用Xdebug。 Symfony2带有演示包,我想通过在Acme / Demo包中创建语法错误来测试Symfony 2.2.0附带的致命错误的新处理。为什么我这样做,服务器响应是502错误的网关。 但是,如果我在app_dev.php文件中犯了语法错误(因此在触发框架之前),那么Xdebug会告诉我致命错误。 令人惊讶的是,如果我修复了该错字,然后在Acme / Demo捆绑包中重新创建了语法错误,那么Symfony错误处理程序将按预期方式出现。最后,如果修复了所有的错字(页面都可以工作),然后再次重新创建相同的错字(再次出现在Acme / Bundle中),我将得到一个错误的网关。 您对此有任何线索吗?
11 php  nginx  php-fpm  xdebug  symfony 

1
如何通过NGINX配置PHP-FPM以写入每个虚拟主机日志文件
我有带有Nginx和PHP-FPM的Fedora 16。一切都很好。所有带有PHP通知,警告,错误等的日志都在中/var/log/php-fpm/www-error.log。 有没有一种方法可以配置PHP-FPM在配置为Nginx错误日志的适当日志文件中写入错误?因此,我想针对每个虚拟主机而不是在一个全局文件中记录PHP错误。(例如在Apache Httpd和PHP中)。
11 linux  nginx  logging  php-fpm 

2
将Apache从prefork切换到Ubuntu 16中的事件,使php 7正常工作
Apache生产运行缓慢。在寻找答案一段时间后,我终于进入#apache IRC频道,专业人士让我使用以下命令检查apache模式: sudo apachectl -V 并被警告发现Server MPM是prefork。他们强调说,请勿在生产服务器上使用PREFORK。事实证明,Ubuntu软件包(大概是从Debian继承的?)坚持要求以prefork模式运行apache,尽管事实是,推荐的与Apache一起运行PHP的方法显然推荐了proxy_fcgi和php-fpm,然后是fcgid并最终说您不应该这样做使用前叉: 为什么您不应该再将mod_php与prefork mpm一起使用 始终将mod_php加载到每个httpd进程中。即使httpd提供静态/非PHP内容,该内存也正在使用中。 mod_php不是线程安全的,会迫使您坚持使用prefork mpm(多进程,无线程),这是最慢的配置 该页面还包含有关PHP-FPM的一些详细信息,但这似乎有些复杂和不清楚,并且似乎涉及许多手动配置。我感到失望和惊讶,Ubuntu 16没有fastCGI模式之类的软件包选项。 我尝试使用a2enmod 将apache切换到事件模式,并且尝试备份apache时,出现错误: Apache正在运行线程MPM,但您的PHP模块未编译为线程安全的。您需要重新编译PHP 无论如何,我想知道是否有人通过尽可能少地依赖软件包安装程序来获得一些最少的逐步说明,以使fastCGI模式在具有PHP 7.0 的 Ubuntu 16上运行。我目前正在查看许多解释不清,含糊不清的说明,而且我担心因决策错误而破坏了我的生产环境。 同样,有人应该将mpm-event添加为标记选项。这就是#apache IRC家伙推荐的。

2
nginx,别名,php-fpm =找不到文件
我正在尝试使用DAViCal设置nginx。但是,我在日志中收到一个“找不到文件”和“在stderr中发送了一个FastCGI:“主脚本未知”。我的别名似乎有问题,但我确定无法解决。 我的虚拟主机: server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www-data; index index.html index.htm index.shtml index.php; # Make site accessible from http://localhost/ server_name just.a.server; location / { # First attempt to serve request as file, …
10 php  nginx  php-fpm  fastcgi  alias 

6
我如何找出为什么我的php5-fpm无法启动?
当我尝试到达服务器时,我收到504网关超时,一小笔支票未在php5-fpm日志中找到任何日志,但是只是为了确保,我尝试重新启动它。当我尝试重新启动它时: sudo service php5-fpm restart 我得到[fail] 但是当我做 sudo service php5-fpm stop sudo service php5-fpm start 我没有错。 如果没有日志,我该如何调查?我能做什么?
10 linux  php  php-fpm 

2
如何从Nginx向PHP传递自定义参数?
我与通行证Nginx 1.2.4结合使用PHP-FPM 5.4.8,fastcgi并尝试将自定义参数传递给PHP。这是我到目前为止找到的选项: 使用env指令在中设置环境变量nginx并通过getenv()或$_ENV从中获取环境变量PHP。问题是env仅在main上下文中运行,而我需要在上下文中设置参数server。 fastcgi_param为此使用指令。 我尝试使用更改某些参数的值,fastcgi_param但未成功: nginx: fastcgi_param PATH_INFO "/var/tmp"; 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); …
10 php  nginx  fastcgi  php-fpm 

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; } } 这给了我错误: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 …
10 nginx  fastcgi  php-fpm 

1
PHP-FPM的chroot和chdir目录
我在启用chrooting的情况下设置php-fpm。现在,我看到有两种选择,我想知道确切的区别是什么。 该设置具有: chroot = /var/www/domains/domain.tld/ ; Chdir to this directory at the start. This value must be an absolute path. ; Default Value: current directory or / when chroot chdir = /docroot/ 为什么这里有两个不同的位置,以及允许php访问哪个路径。php网站可以访问/var/www/domains/domain.tld/,还是只能访问docroot目录中的文件。 === 也许有一些具体的建议给我。我想要一个这样的设置: webroot位置: /var/www/ domain.com/ |---conf/ | |--nginx.conf | |--php-fpm.conf | |---ssl/ |---logs/ |---session/ |---domains/ |---www/ |---app/ …
10 php-fpm  chroot 

1
php-fpm:帮助了解start_servers,min_spare_servers,max_spare_servers
我想调我的PHP-FPM安装我的服务器,我有麻烦搞清楚什么与做pm.start_servers,pm.min_spare_servers和pm.max_spare_servers变量。我在用pm = dynamic pm.max_children非常清楚。每个子进程一次服务1个Web客户端。好。那么,什么是“服务器”?显然,根据我的默认配置,一台服务器可以为1个以上的孩子提供服务。上限是多少?对于#个孩子/服务器,我应该如何使用经验法则?还是完全相关?在某个论坛上,有人声称服务器数量应为2 x CPU核心数量,但是我看到了推荐的配置,数量要高得多,为40-50。 PHP文档和许多“调整php-fpm”文章都没有帮助。
10 nginx  php  php-fpm 

3
使用docker + nginx + php-fpm服务静态内容
我正在尝试使用docker配置php webapp。这个想法是php-fpm在一个独立的容器中运行应用程序,并让另一个容器运行nginx。此设置的想法是使用相同的nginx容器将请求代理到已经在同一台机器上运行的其他Web应用程序。问题是我无法nginx正确处理静态文件(js,css等),因为对那些文件的请求一直在进行fpm。 这是文件系统的样子: / ├── Makefile ├── config │ └── webapp.config └── webapp └── web ├── index.php └── static.js 我正在使用Makefile看起来像这样的整个东西(对此不感兴趣docker-compose): PWD:=$(shell pwd) CONFIG:='/config' WEBAPP:='/webapp' run: | run-network run-webapp run-nginx run-network: docker network create internal-net run-webapp: docker run --rm \ --name=webapp \ --net=internal-net \ --volume=$(PWD)$(WEBAPP):/var/www/webapp:ro \ -p 9000:9000 \ php:5.6.22-fpm-alpine run-nginx: …



4
网络服务器随机提供不同的虚拟主机
我们已经在Ubuntu Trusty上运行了nginx。它通过一个IP地址上的https服务多个网站。 随机地,尽管它似乎与工作量有些关系,但有时单个请求会出现在错误的虚拟主机上。这导致要求lustrum.thalia.nu由服务,thalia.nu反之亦然。然后,当用户突然进入另一个网站时,这将产生令人讨厌的错误页面。按时F5,用户将再次回到原始目标。 似乎与浏览器或操作系统无关。已经确认它会在Firefox(Linux,Windows,Mac),Edge(Windows)和Chrome(Linux,Windows,Android)和Safari(iOS)上发生。 当系统处于负载状态时,此问题似乎更经常发生,这表明存在某种竞争状况。 芦荟 server { server_name lustrum.thalia.nu; listen 443 ssl; ssl on; ssl_certificate /etc/nginx/certs/lustrum.thalia.nu.crt; ssl_certificate_key /etc/nginx/certs/lustrum.thalia.nu.key; add_header Strict-Transport-Security "max-age=63072000; preload"; root /var/www/thalia-lustrum/public_html; location / { index index.php; try_files $uri $uri/ /index.php?$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent; # Pass all .php …

1
PHP5-FPM如何将错误发送到nginx?
我一直在尝试在php-fpm和nginx中记录错误,因为我在网上找不到任何好的解释。大多数指南说catch_workers_output,yes如果要将错误从php5-fpm发送回nginx,我应该更改为。但是,在实验过程中,我发现即使catch_workers_output将设置为no,nginx仍会正确记录错误。 这是我的虚拟主机配置: server { server_name domain.com; return 301 http://www.domain.com$request_uri; access_log off; } server { listen 80; listen [::]:80; root /home/websites/domain.com; index index.php index.html index.htm; error_log /home/websites/logs/domain.com/error.log warn; access_log /home/websites/logs/domain.com/access.log; #switch on gzip gzip on; gzip_min_length 1100; gzip_buffers 10 32k; gzip_types text/plain application/x-javascript text/xml text/css; gzip_vary on; location / { try_files …
9 nginx  php-fpm 

2
php-fpm向nginx返回空响应
nginx使用/etc/nginx/fastcgi_paramslocation块中的标准通过fastcgi连接到php-fpm 。 当使用从命令行连接到/.status(php-fpm.ini :: ping.path)时cgi-fcgi -bind,结果将按预期返回(X-Powered-By设置,响应正文等)。 当使用nginx请求时,结果返回为空(X-Powered-By设置,没有正文长度或内容)。nginx返回200,因为它得到了“有效”的响应。 监视tcpdump,我在其FCGI标头中隔离了对奇偶校验的请求(减去仍由Shell设置的与用户相关的env变量)。
9 php  nginx  php-fpm  fastcgi 

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.