Articles of PHP的

使用HHVM的站点使用Sperate池

我正在使用nginx HHVM 3.0.1(rel)通过unix套接字。 我想在php-fpm中设置池,并为不同的站点使用不同的池并非常准确地分配资源。 可能吗?

Nginx与CakePHP子文件夹中不提供静态文件(CSS,JS,IMG)

我试图设置一个Nginx服务器configuration来从一个子文件夹提供CakePHP安装。 url: https://sub.domain.com/cakefolder : https://sub.domain.com/cakefolder 系统上的文件夹: /var/www/domain/sub/cakefolder 所以我使用一个子文件夹的URL以及在系统上。 现在花了我一些时间来弄清楚CakePHP正确处理哪些请求的configuration。 这意味着它正确地引导和处理控制器。 什么不工作,是从webroot目录(如* .css文件)提供静态文件,因为这些都被解释为CakePHP控制器导致CssController could not be found. 错误。 我的site.conf: server { listen *:80; listen *:443 ssl; server_name sub.domain.com; ssl_certificate ./ssl/domain.crt; ssl_certificate_key ./ssl/domain.key; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; if ($ssl_protocol = "") { rewrite ^ https://$server_name$request_uri? permanent; } root /var/www/domain/sub/cakefolder/; autoindex off; index index.php; location /cakefolder { root […]

下载压缩文件“失败的networking错误”(PHP / NGINX)

当我尝试从我的实时服务器https://mysite.com下载zip文件时,我在浏览器(Chrome和Firefox)中收到以下错误: Failed network error 。 令人困惑的是,在我的本地主机上使用相同的代码(下面)从我的现场服务器允许我成功下载这个相同的zip文件: $path=$data['path_new']='uploads/some-path/'; $file_name='test.zip'; $file=$path.$file_name; header("Content-Disposition: attachment; filename=".$file_name); header("Content-Type: application/octet-stream"); readfile($file); 我在我的本地主机和现场服务器上使用PHP和NGINX,我相信相同的configuration,但显然是不正确的,在我的生活网站。 可能有人帮忙?

Nginx添加头文件PHP FPM返回一个错误

我使用Laravel 4与Nginx和PHP-FPM来为应用程序提供服务。 然而,应用程序实现了一个API,并且我向Nginx添加了一些相当开放的CORS规则,这些规则似乎工作正常。 每当应用程序抛出一个错误,Nginx似乎并没有添加标题作为响应的一部分。 有没有办法强制这个,而不必安装更多的头文件扩展名? 我的configuration如下: server { listen 80; server_name mediabase.local; root /home/vagrant/mediabase/public; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; add_header Access-Control-Allow-Origin "*"; add_header Access-Control-Allow-Methods "GET, OPTIONS, POST, HEAD, DELETE, PUT"; add_header Access-Control-Allow-Headers "Authorization, X-Requested-With, Content-Type, Origin, Accept"; add_header Access-Control-Allow-Credentials "true"; add_header Access-Control-Max-Age: 86400; } location = /favicon.ico […]

Nginx错误recv()失败(104:由对等方重置连接)

几天前,我的服务器出现了一些错误。 我使用CentOS 6.5和Parallels 12.0.18,Apache服务器提供dynamic内容,Nginx作为代理来提供静态内容。 起初,我得到以下错误: [error] 29951#0: *5138862 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 89.7.24.108, server: , request: "GET /page/2/ HTTP/1.1", upstream: "http://ip:7080/page/2/", host: "domain.es", referrer: "http://domain.es/" 然后,我改变了一些configuration,比如在我的“httpd.conf”文件中增加MaxClients,并且把这一行改为我的/etc/nginx/conf.d/timeout.conf文件: proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; 这似乎一切正常,直到我再次得到同样的错误,以及一个新的: [error] 15228#0: *130292 recv() failed (104: Connection reset by peer) […]

上游错误超时。 我的设置有什么问题?

我在一个2GB的内存/ 2x CPU digitalocean vps上运行wordpress 3.9.1,在debian 7 x64下的tcp / ip 127.0.0.1:9000上使用nginx和php5-fpm。 我正在经历大量的504网关超时。 nginx日志输出是:上游超时(110:连接超时),同时连接到上游或上游超时(110:连接超时),同时从上游读取响应头 www.conf: listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 25 pm.start_servers = 4 pm.min_spare_servers = 4 pm.max_spare_servers = 8 pm.max_requests = 200 listen_backlog = 65536 request_terminate_timeout = 30 php.ini: max_execution_time = 30 nginx.conf: worker_processes 2; worker_connections 1024; client_max_body_size 10M; fastcgi_read_timeout 30s; client_header_timeout […]

奇怪的phpredirect与nginx(在Apache中工作正常)

最后,我决定在几个小时后试着问,寻找和研究。 几个月前,我把我的网站迁移到一个更新的版本,一切工作正常,我的旧主机在Apache。 最近我迁移到一个VPS,我决定使用Nginx作为服务器,我正在细节。 我的问题是,我正在尝试使用PHP脚本进行一些特定的redirect。 redirect在apache(本地和remotelly)中工作得很好,但是在nginx中却不行。 奇怪的行为是,例如,当我尝试使用URL fakesite.tk/Section/index.php Apacheredirect到fakesite.tk/Section/但Nginx返回404错误,如果我尝试的URL fakesite.tk/Section/ index.php /神秘地工作(注意斜线在最后)并redirect到fakesite.tk/Section//(注意双斜杠) 我尝试添加一个斜杠到所有URLS的结尾,但是这个redirect在Nginx中同样不起作用。 如果它很重要,我的VPS在Ubuntu(iquals是我的主机)上运行,我在Windows机器上进行testing。 有我的Nginx站点configuration文件: server { server_name *.fakesite.tk; return 301 $scheme://www.fakesite.tk$request_uri; } #Redirect non www to www site version server { server_name fakesite.tk; return 301 $scheme://www.fakesite.tk$request_uri; } server { listen 80; listen [::]:80; root /var/www/SiteFolder; index index.php; server_name www.fakesite.tk; #Stabilishing error 404 and 403 error […]

PHP会话不会转到其他页面

经过多年的开发网站,在这种情况下,我遇到了同样的问题,我完全丧失了正在发生的事情。 我有一个标准的PHPlogin由三个页面组成: login.phpinputlogin信息,checklogin.php检查input凭证,然后home.php作为login页面 所有这些都已经很好的工作了很多年,因为在那个时候他们几乎没有改变。 现在,最近我搬到了托pipe公司,这显然意味着重新安装我所有的首选networking托pipe软件并将其configuration到我的网站需求的艰巨任务。 所以无论如何,由于网站编码没有改变,我认为它必须是一个服务器的问题,无论是服务器configuration或我一定错过了一个设置。 我现在已经工作了三天,然后'poof'它只是不想再设置会话。 我可以设置一个并显示它,但是如果我尝试将其移到另一个页面,则不起作用。 任何人都可以解释什么可能只是在三天内发生了魔法般的事情,决定只是毁了一切? 一些注意事项: 是的,我正在使用session_start(); 在我的着陆页上,我打算参加会议。 我已经使用这些标签,让你知道我的服务器运行的网页是什么软件(因为我还不确定是什么原因造成的) php会话path是/var/lib/php/sessions/ ,对Apache / nginx具有正确的权限 MySQL正在收集数据,php正在设置第2页的会话,但是第3页似乎已经丢失了会话。 下面是一个简单的例子,我做了一个testing: 第1页:设置会话: <?php session_start(); require_once'../connect.php'; // Database connection $user_info = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id = '1'")); $_SESSION['myid'] = $user_info['id']; $_SESSION['myuser'] = $user_info['username']; // Echo the set sessions just to make sure they set echo 'ID: […]

在Centos上的nginx php-fpm“访问被拒绝”

我得到“访问被拒绝”在index.php文件。 我通过在我的服务器上使用触摸命令创build了test.php,它正在工作。 我删除了index.php,并通过使用touch命令和c / p的index.php源新的index.php文件创buildindex.php,然后我检查error.log现在问题发生在另一个PHP文件。 一切正常,今天这个问题就开始了。 这个configuration也在工作,没有变化,发生了这个问题。 这是我的configuration文件。 /etc/nginx/conf.d/default.conf : server { listen 80; server_name XXXX; root /var/www/domain.com; index index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_page 404 /404.html; location = /404.html { […]

hhvm不会在运行时更改error_log ini设置

所以我对hhvm是全新的。 我试图设置一个基本的nginx和hhvm环境。 它工作正常,同时运行php和hack,并输出错误到/var/log/hhvm/error.log 。 问题是我需要在运行时更改日志文件,但是错误总是只发送到/var/log/hhvm/error.log (或者任何/etc/hhvm/server.ini -> hhvm.log.file设置为)。 我testing的PHP文件是: <?php var_dump(ini_set('error_log', '/var/log/chs.log')); var_dump(ini_get('error_log')); error_log('foobar'); 在浏览器中,如预期的那样输出string(0) "" string(16) "/var/log/chs.log" 。 使用hack时,我会得到相同的结果。 我的设置是完全标准的。 使用apt-get install hhvm nginx清理Debian,然后运行/usr/share/hhvm/install_fastcgi.sh 。 有什么build议么? 有没有其他人试过这个,并使其工作?