我在我的Webfaction网站上安装了Nextcloud,并且希望删除URL中的“ index.php ”。 我遵循这里的指示 ,但后来意识到它说: 此外,这些说明仅在将Apache与Apache的mod_php模块一起使用时才起作用。 其他模块,如php-fpm或mod_fastcgi不受支持。 看起来我的主机使用Apache和fastcgi。 但是,干净的URL可以工作 – 而不是https://example.com/index.php/apps/files/ ,我可以去https://example.com/apps/files/并获得正确的页面。 但是Nextcloud只是在我导航时插入“ index.php ”。 确切地说,303发送到长URL的redirect。 此外, 这个论坛条目build议它可以使用php7和fastcgi。 我怎样才能停止插入? 如果需要的话,我可以编辑代码,但是我的PHP使用经验来自于mysql_* API的时间,在课前,所以我很难find我的方式:-)也许有人在这里已经知道这个问题的一个快速解决。
我正在尝试为PHP应用程序定义一些环境variables,但其中一个variables包含“$”符号。 当我使用nginx -ttestingconfiguration文件时,我收到一条错误消息,告诉我一个variables不存在。 它似乎将“$”之后的文本解释为一个variables名,这当然没有定义。 也许我没有在正确的地方search,但我找不到有关如何逃避“$”字符的信息。 这是可能的,怎么办? 更新:我试图在d3ag0s的注释之后用单引号和双引号括起来,但是我有相同的错误信息。
我刚刚为我华丽的新网站创build了一个API,并希望返回错误响应与相关的状态代码。 但是,我已经configuration了正常的path来使用error_page指令,我不想删除错误页面。 我有一个index.php文件,处理API和网站的所有请求。 server { listen 80; listen 443 ssl http2; server_name ~^(.+)\.flashy\.local$; root "/home/vagrant/flashy/core/www"; index index.html index.htm index.php; charset utf-8; error_page 400 /error/error-400.html; error_page 403 /error/error-403.html; error_page 404 /error/error-404.html; error_page 500 501 /error/error-500.html; error_page 502 503 504 /error/error-503.html; location ~ ^/error/error-(403|404|500|503)\.html$ { internal; root /home/vagrant/flashy; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; […]
我的phpinfo()正确告诉我,我正在Apache Web服务器上运行HHVM 3.18.1。 如果我尝试加载任何不是我的index.php的PHP页面,我会得到: [Thu Aug 17 11:35:56.542841 2017] [proxy_fcgi:error] [pid 19023] [client 127.0.0.1:59730] AH01067: Failed to read FastCGI header [Thu Aug 17 11:35:56.543005 2017] [proxy_fcgi:error] [pid 19023] (70014)End of file found: [client 127.0.0.1:59730] AH01075: Error dispatching request to : [Thu Aug 17 11:36:49.676178 2017] [proxy_fcgi:error] [pid 19028] [client 127.0.0.1:59736] AH01067: Failed to read FastCGI […]
我正在尝试做基于位置的Fastcgi服务器。 所有请求/ api / v1 / – >服务器v1:9000和/ api / v2 / – >服务器v2:9000我的nginxconfiguration是 server { listen 80; index index.php index.html; root /var/www/public; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass v1:9000; if ( $uri ~ "^/api/v1/") { fastcgi_pass v1:9000; } if ( $uri ~ "^/api/v2/") { fastcgi_pass v2:9000; } fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME […]
安装:在Ubuntu的Apache-2.4.18上通过FastCGI的一个QGis-2.18服务器 (真的是一个embedded的MapServer )实例。 如果在cgi处理程序的查询string中设置了某个值,我想添加另一个值。 为此,我在/etc/apache2/conf-enabled/qgis.conf的顶部添加了三行: RewriteEngine on RewriteCond "%{QUERY_STRING}" "application/json" [NC] RewriteRule "^/$" "/?OUTPUTFORMAT=GeoJSON" [PT,QSA] ScriptAlias / /usr/lib/cgi-bin/qgis_mapserv.fcgi <Location "/"> SetHandler fcgid-script Require all granted PassEnv QGIS_PROJECT_FILE </Location> FcgidInitialEnv QGIS_LOG_FILE ${QGIS_LOG_FILE} FcgidInitialEnv QGIS_SERVER_LOG_FILE ${QGIS_SERVER_LOG_FILE} FcgidInitialEnv QGIS_DEBUG ${QGIS_DEBUG} FcgidInitialEnv QGIS_SERVER_LOG_LEVEL ${QGIS_SERVER_LOG_LEVEL} FcgidInitialEnv QGIS_PLUGINPATH "${QGIS_PLUGINPATH}" FcgidInitialEnv PGSERVICEFILE ${PGSERVICEFILE} FcgidInitialEnv HOME /var/www 我正在像这样访问服务器: http://myserver.invalid.tld:51081/ ?SERVICE=WFS &VERSION=1.1.0 &REQUEST=GetFeature &OUTPUTFORMAT=application/json […]
我在一个nginx代理的后面运行了php5,像Fast_CGI一样,在使用之后(一直在使用,而不是在空闲时),Fast_CGI服务器closures(不再显示在'ps -A'中。 在php.ini中,Log_Errors设置为On,Error_Log设置为/var/log/php.log,但是如果只查看php.log中的启动错误,则什么也不会意味着phpclosures。
我目前正在build立一个VPS(与VPS.NET),我将用它来主持一个博客和一些其他的东西。 我已经安装了nginx,并用php-fpm修补了php(5.2.8)。 所有的工作都非常棒(而且速度非常快),除了一个恼人的问题:因为现在网站没有其他的stream量,一段时间以后,它一直处于空闲状态,所有的php-cgi进程都会死掉。 只要我尝试访问网站,nginx返回一个不错的“502坏的网关”,并修复我必须手动重新启动php-fpm才能使网站再次工作。 这是为什么? 我已经看到这是一个普遍的问题,但是在空闲时间寻找解决办法的几天之后,我发现没有任何东西对我有效。 有什么build议么? 提前致谢
我有一个Apache2与PHP fastcgi设置; 我想在没有客户端注意的情况下进行configuration更改(所以没有丢失/失败的请求),所以我把haproxy放在它前面; 所以我有两个Apache2服务器运行在同一台服务器上的不同IP上,并在它们前面运行Haproxy负载平衡/故障转移。 Apache和Haproxy都有Keepalive。 当我在运行时运行/etc/init.d/apache2_1 restart或apache2ctl -k graceful -f /etc/apache2_1/apache2.conf时, 看-n 1 lynx -dump -source http:// server /test.php(里面有echo rand(1,100000);在里面) 它仍然下降一个坏网关请求。 我怎样才能防止发生? 基本上,如果我可以告诉Haproxy完成所有连接(完成意味着让他们运行)到server1,但发送所有新的server2在给定的时间点,它会工作。 另外注意; 我需要php-cgi; 与mod_php的事情更容易。 编辑; 我试过了 但是请求不会传递给备份,所以有些客户端仍然收到坏的网关。 回答本的评论; 随着cgi的优雅似乎启动所有正在进行的连接; 与mod_php曼妙工作正常; 没有停机。 Haproxy在apache出现故障时会看到(在统计屏幕中变成黄色),但是fastcgi只是在空中切断脚本; (通讯错误),通过调用exit()终止,返回代码:0(注意:mod_fcgid:process /var/www/gui/wsapi.php(13987) [2009年8月15日星期六19:00:55] [注意] mod_fcgid:进程14012进行正常关机,发送SIGTERM [2009年8月15日星期六19:00:56] [注意] mod_fcgid:process /var/www/gui/index.php(13999)退出(通讯错误),通过调用exit()终止,返回码:0 很多客户也越来越多; [2009年8月15日星期六19:05:42] [错误] [客户端xxx.xxx.xxx.xxx]脚本头过早结束:index.php 另一个迹象表明,关机没有任何优雅之处。
我试图得到一个Django + mod_fcgid设置工作(mod_wsgi是棘手的,因为我有一个静态链接的Python。不要问)。虽然这是在我的Mac OS X开发框上微不足道,让它在服务器上运行迄今为止,certificate是不可能的。 有了这个configuration LoadModule fcgid_module modules/mod_fcgid.so FCGIDSocketPath run/mod_fcgid FCGIDSharememPath run/mod_fcgid/fcgid_shm ScriptAliasMatch /apps/([^/]+)(/.*)? /var/www/apps/$1/apache/dispatch.fcgi$2 <DirectoryMatch ^/var/www/apps/([^/]+)/apache> SetHandler fcgid-script Order allow,deny Allow from all Options +ExecCGI </DirectoryMatch> 和这个例子dispatch.fcgi : #!/usr/bin/python import sys sys.path.insert(0, '/var/www/lib/python2.5/site-packages/flup-1.0.2.egg') def myapp(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return ['This is my hello world test!\n'] if __name__ == '__main__': from flup.server.fcgi […]