Articles of PHP

巨大的请求持续时间值为一个特定的PHP脚本

我们正在面对一个产生太多孩子的php-fpm服务器的问题。 今天早上,我设置了php-fpm的状态页面 ,并且获得了一个有趣的信息:在由孩子执行的所有脚本中,有一个请求持续时间大约等于3050111212255天,等于3050111212255微秒,这是机器的正常运行时间,尽pipe我们最近重新启动了php-fpm 。 这里是这个脚本的状态页面的输出。 pid: 19998 state: Idle start time: 29/Aug/2014:14:48:25 +0200 start since: 578 requests: 244 request duration: 3050444744915 request method: POST request URI: /app.php?_format=json content length: 96 user: jobuser script: /home/frontoffice/instances/encoding/current/web/app.php last request cpu: 0.00 last request memory: 7864320 你认为这是一个在PHP的FMP的错误?

nginx子目录重写MVC

我的任务是pipe理一个带有一堆遗留代码的基础目录的Web应用程序,以及我自己制作的一个子目录,我们正在使用这个API来缓慢地将前端迁移到SPA模型。 主人已经得到了野兔的屁股,并下令将我们移动到Nginx。 我在Apache重写方面有丰富的经验,我需要大约9秒的时间才能在Apache中进行设置。 然而,正如人们很快指出的那样,nginx不是Apache。 虽然我可以让应用程序的任何一部分在nginx中自行工作,但是当它位于/ api /目录中时,我无法让API与主应用程序一起玩。 我猜测这将是位置指令的一些排列,这似乎在Apache中的行为类似。 基本上,如果有什么命中/ api /目录,我需要通过重写将uri的其余部分传递给/api/public/index.php: ^/(.*)$ public/index.php?_url=/$1; 任何帮助是极大的赞赏。 现有configuration: server { listen 10.1.1.225:443 ssl; server_name dev.domain.com; ssl_certificate /etc/nginx/conf.d/chain.crt; ssl_certificate_key /etc/nginx/conf.d/4096_SSL.key; set $root_path '/usr/share/nginx/www'; root $root_path/trunk; index index.php index.html; fastcgi_param ENV development; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_read_timeout 180; location / { try_files $uri $uri/ =404; } location ^~ /api […]

在Ubuntu 14.04(EC2微型服务器)上执行PHP5-FPM慢速执行

我build立了一个EC2服务器集群,只有一个performance得非常奇怪。 这是运行Ubuntu 14.04的t1.micro服务器。 Nginx,MySQL和php5-fpm被安装。 我已经得出结论,nginx和MySQL运行完美; 然而,php5-fpm将需要大约40-55秒来执行任何脚本文件。 服务启动后大约5分钟发生此问题。 即使是这样一个简单的脚本文件也需要大约50秒的时间: <?php phpinfo(); 我使用PHP的默认configuration,并有其他服务器完全相同的设置没有任何困难。 如果我重新启动php5-fpm服务,它将正常运行3-5分钟,然后开始减速。 我猜这是与subprocess的数量有关,但由于其他服务器(具有相同的设置)运行完美,我什么都没有信心。 我已经通过尝试下载静态页面来testingnginx安装程序,并且它们按预期工作。 我正在排除MySQL,因为像上面那样简单的脚本仍然需要花费大量的时间来执行。 如果有人能帮我解决这个问题,我将非常感激。 有任何想法吗? 提前致谢

生产服务器(集群)configuration

我有一个问题,我想解决你的问题。 我们正在创build一个显示信息和统计数据的Web应用程序。 我们有一个关于如何“正确”configuration服务器的问题 问题是我们的应用程序使用crons来做一些事情,crons有时会阻塞我们的数据库,当这种情况发生时,整个应用程序被冻结,这意味着没有用户input,没有页面加载等。 我们应该怎么做才能防止这种情况发生? 有没有一种方法来镜像数据库,并保留其中两个为后端和一个为前端,或者我们应该限制连接到数据库,或者我们应该使用其他方法。 任何帮助,将不胜感激

PHP文件加载非常缓慢,即使他们没有PHP代码

Windows Server 2008 R2 Standard IIS 7.5 PHP 5.3.28 FastCGI的 我在ASP.NET网站的子文件夹中有一个WordPress博客,该网站已经开始运行非常缓慢。 经过实验,我发现所有的 PHP文件加载速度都很慢,即使它们没有任何PHP代码在内部执行。 <h1>Hello!</h1>本身在文本或HTML文件中加载速度很快,但在PHP文件中需要永久使用。 PHP正在通过FastCGI运行。 除了open_basedir之外,所有推荐的php.ini设置都已设置,并且通过ini_set()设置没有帮助。 类似的问题的答案似乎总是谈论MySQL,但我似乎已经消除了从这里的争夺MySQL。

更改nginx + hhvm上的文档源代码?

我打算configurationhhvm和nginx工作在/home/ubuntu/www.mysite.com目录下的php文件 首先我从apt get安装了hhvm和nginx,并且在默认目录下工作正常 然后我改变/etc/nginx/hhvm.conf的fastcgiconfiguration fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; 至 fastcgi_param SCRIPT_FILENAME /home/ubuntu/www/www.mysite.com$fastcgi_script_name; 然后我添加源根到vim /etc/hhvm/server.ini hhvm.server.source_root = /home/ubuntu/www/www.mysite.come 然后重新启动nginx和hhvm,但仍然从默认web根目录得到的PHP文件不是从/ home / subuntu / www / www.mysite.come 这里是虚拟主机的configuration文件 server { listen 80; server_name www.mysite.se; access_log /var/log/www.mysite.se.access_log; error_log /var/log/www.mysite.se.error_log; location / { root /home/ubuntu/www/www.mysite.se; index index.php index.htm; if (!-f $request_filename){ set $rule_1 1$rule_1; } if (!-d […]

Apache代理服务器 – 希望一个简单的修复

我在使用我的代理服务器redirect的服务器中的相对目录时遇到问题。 让我们打电话给我的顶级服务器,提供代理“代理”,和第一个子服务器“客户端1”。 代理设置为redirect/客户端1到本地主机:81 /客户端1(这工作正常) Client1具有以下目录结构: /srv/www/ /client1 (The root dir for the server) /system /3rdparty /client1 (Redirect to this dir) – test.php (This renders) 我有的问题是,在test.php我使用../system/somefile和../3rdparty/jquery.js 。 这些未能解决。 例: – navigate to `www.example.com/client1` (test.php loads) – test.php loads – check console see errors: `www.example.com/system/somefile` cannot be found (404) 有谁知道我需要做什么,以便将../传递给Client1服务器,而不是在代理服务器上进行评估? 我的代理传递设置: LoadModule proxy_module /usr/lib64/apache2-prefork/mod_proxy.so LoadModule proxy_http_module /usr/lib64/apache2-prefork/mod_proxy_http.so […]

nginx中的多个服务器块:Php在服务器2上不工作

我有一个在我的networking服务器上运行的nginx服务器。 我想达到以下目的: example.com + www.example.com – > / my / web / dir / www pma.example.com – > / my / web / dir / pma 第一点是没有问题的一切工作正常。 对于第二点,我编辑了/ etc / nginx / sites-enabled / default,并复制了现有的服务器块,为pma.example.com创build一个新的服务器块。 server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com www.example.com; location / { try_files $uri $uri/ /index.html; […]

服务器遭到破坏,当文件夹中的PHP文件被改变而没有写入权限时,入侵有多深

我知道有很多类似的问题,但是没有一个涉及到这个问题: 我发现客户端服务器脚本注入几乎所有的PHP文件,这实际上是在这里提到的脚本: https : //stackoverflow.com/questions/20658823/hacked-site-encrypted-code 。 现在我知道很难确定进入的地点,但是有一些事实我相信对于比我更适合的人来说也是有意义的。 情况 几乎所有的PHP文件都被感染了 有一个文件夹中有一些受感染的文件,但它没有任何权限的FTP用户,我正在使用上传文件到服务器 即使是不公开查看或由谷歌索引的文件被感染 在非索引文件夹中有一些文件被感染,有些则没有。 那些没有被感染的人很可能不会或很less被任何人呼叫 题 考虑到上述事实,是否有可能整个服务器被攻破(apache,…)或者它可能只是一个不安全的PHP脚本。 当只有PHP脚本被滥用时,甚至有可能看到这样的情况吗? 现在是否足够更新PHP脚本,删除病毒代码,并希望假设服务器本身没有受到威胁? (当然,更改SFTP帐户凭据) 编辑:关于它是一个重复的评论 正如我之前所说,我读了其他职位,我不需要知道一个行动的过程中,我只是好奇的PHP文件被修改的FTP文件夹不能被FTP用户写入, 如果这是可能的使用PHP脚本/ MYSQL漏洞,或者只有当攻击者有FTP传递或更深的服务器访问时。

忽略php upload_max_filesize – 无法上传5GB文件

我无法上传大于2GB的文件。 最大的上传/张贴值先前设置为2500MB,所以我认为这是问题所在。 第一, # php –version PHP 5.3.3 (cli) 我如下设置upload_max_filesize和post_max_size # vi /etc/php.ini post_max_size = 5500M upload_max_filesize = 5500M [write/quit vi] 下一个, # service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] 然后我用phpinfo()脚本确认了新的configuration: post_max_size 5500M 5500M upload_max_filesize 5500M 5500M 我回到我的脚本上传另一个大的数据文件(~4GB),并再次被告知,上传的文件超过了upload_max_filesize值。 所以,我不知所措。 我能够上传2GB和更小的文件没有问题。 我已经重新启动Apache,不知道从哪里去。