草庐IT

nginx-alpine

全部标签

Nginx + FastCGI + PHP (php-fpm) 不记录捕获的错误/警告

FastCGI不想正确记录PHP错误。好吧,这并不完全正确:它可以很好地记录错误,但需要一些小改动;它只是不会记录任何其他内容,例如警告。臭名昭著的FastCGI->Nginx日志错误不一定是问题。来自php-fpm的错误和警告会直接发送到Nginx——但前提是它们未被捕获。也就是说,如果set_error_handler成功拦截错误,则不会附加任何日志条目。这意味着我可以看到解析错误,但仅此而已。php-fpm本身不会记录PHP错误(与nginx分开)而无需一点hack。php-fpm的实例配置文件默认包含这两行:php_admin_value[error_log]=/mnt/log

nginx - 包含多个 phar 文件时出现 Php5-FPM 错误

我们在我们的服务器上使用Ubuntu+nginx+php5-fpm组合,PHP版本为5.5。我们正在尝试运行包含一堆phar文件的index.php。像这样的东西:当从命令行PHP运行此脚本时,它工作正常。当从php开发服务器(php-S)或nginx运行时,我们会收到以下错误:2013/11/1817:56:06[error]14384#0:*597FastCGIsentinstderr:"PHPmessage:PHPFatalerror:CannotredeclareclassExtract_Pharinb.pharonline103我没有名为Extract_Phar的类-所以我假

php - 如何在 nginx 反向代理后面的 CakePHP 中安全地检测 SSL?

CakePHP(我见过的所有版本)检查$_SERVER['HTTPS']查看请求是否通过HTTPS而不是普通HTTP发出。我使用nginx作为负载均衡器,其后是Apache应用程序服务器。由于SSL连接在负载平衡器处终止,$_SERVER['HTTPS']就CakePHP而言,尚未设置。我想找到一种安全的方法来检测应用服务器上的HTTPS。到目前为止,我已将它放入我的CakePHP配置中:$request_headers=getallheaders();if((isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS'])||(isset($request_h

Nginx Php-fpm 没有在任何地方记录 500 错误

nginx或php-fpm也不会报告错误500输出,事实上500响应是在访问日志上而不是在nginx错误日志上。该脚本在我的开发环境中运行正常。nginxversion:nginx/1.6.2PHP5.5.19(fpm-fcgi)试过了catch_workers_output=1重新启动一切,还是不行nginx访问日志显示:x.x.x.x--[12/Dec/2014:19:25:08-0200]"GET/merchant/customer/mobile/data?sEcho=1&iColumns=3&sColumns=%2C%2C&iDisplayStart=0&iDisplayLen

php - nginx.conf 用于 restful api

我目前正在开发一个RESTfulapi作为我的ios/web应用程序与其共享数据库和内容之间的桥梁。我在thisblog上找到了用PHP实现RESTfulapi的方法.我开始在基于OVHApache的服务器上进行开发。不幸的是,他们没有在网络托管服务上提供oauth支持,也无法安装它。OVH告诉我为此需要专用服务器或VPS服务器。现在,我要处理dotCloud.我认为这是一个很好的选择,但他们的服务器(似乎是AmazonEC2的服务器)是基于nginx的。这将是我第一次使用nginx服务器,我需要你的帮助来“翻译”this.htaccess到nginx.conf文件。在寻求您的帮助之前

php - Nginx:将所有不存在的请求重定向到 index.php

我正在从Apache迁移到Nginx。我目前正在使用自定义内容管理解决方案,该解决方案利用SERVER['request_uri']来处理路由。我想做的是将所有不存在的文件和目录请求重定向到/index.php,而不是更新客户端uri。但是,当文件确实存在时,我想返回它。一个示例url是:localhost/content/page/1 最佳答案 您需要在nginxvhost文件中添加一个location/block或更新您当前的location/block。如果找不到文件或目录,这会将所有请求重定向到index.php:locat

php - Nginx、PHP + FPM 自定义错误页面

我正在尝试创建一些自定义错误页面,但似乎无法让500页面正常工作。我有以下配置:server{listen80;root/var/www/devsite;indexindex.php;server_namedevsite;error_page403=/error.php?code=403;error_page404=/error.php?code=404;error_page500=/error.php?code=500;location/{try_files$uri=404;}location~\.php${try_files$uri=404;fastcgi_passunix:/va

nginx - PHP-FPM 和 Nginx 重写导致下载

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我有一个设置了PHP-FPM的NginxHTTP服务器,几乎一切正常。我希望能够转到path/to/file,它会给我index.php?url=path/to/file,它会这样做。但是,它会下载实际的PHP,不会在浏览器中执行它。我不确定是什么原因造成的。Nginx配置:server{listen80;server_namesandbox.domain.tld;access_log/pat

nginx - 使用 nginx/php-fpm 设置 $_ENV (fka $HTTP_ENV_VARS)

在apache环境中setenv相当于什么?例如,使用apache,我可以设置环境“SOMEE​​NV”并通过$_ENV['SOMEE​​NV']在php中访问它-但我不知道如何使用nginx+php-fpm来做到这一点。我最初认为我只需要在我的php-fpm池的配置中设置ENV[SOMENEV]=test,但是var_dump($_ENV)仍然没有返回任何内容。有什么提示吗? 最佳答案 nginx没有办法影响php的环境,因为它没有将php解释器嵌入到它的进程中。它通过fastcgi_param向php传递参数指令。您可以在设置其

通过 SSL 与 nginx 的 PHP websockets

如何在nginx中使用PHP设置websockets?我已经看过这个教程了,但是还是不行https://www.sanwebe.com/2013/05/chat-using-websocket-php-socket已经将三个文件复制到www目录的根目录/index.php/jquery-3.1.1.js/websocket/server.php在index.php中,我更改了URIvarwsUri="wss://domain.com/websocket/server.php";在nginx中我添加了这个http{map$http_upgrade$connection_upgrade{d