我正在用PHPdevise一个聊天应用程序。 我使用php-fpm环境下的nginx。 问题是,多个客户端连接后,PHP脚本变得非常慢。 我只有几个(5-10)客户端连接,长轮询被设置为30秒。 Nginx可以立即提供图片或样式等静态内容,但对于PHP脚本来说,加载需要将近5秒的时间。 我使用XDebug来剖析代码,但它告诉我,加载了5秒的脚本只花了100ms,这是令人困惑的。 我认为php5-fpm队列传入的请求,这导致这样的延迟。 有什么我应该知道关于php5-fpmconfiguration使用长轮询时? 我想强调的是,当有5个客户正在使用聊天时,会变得非常慢。 类似的问题: http : //forum.nginx.org/read.php?3,198958 ( 一个长时间运行的PHP脚本阻止所有其他的PHP请求 ) 这也可能是连接: http : //www.matt-knight.co.uk/2011/concurrent-php-sessions/
我是一个Web开发人员,我正在寻找使用名为Laravel的PHP框架来开始我的下一个(相当大的)项目,该框架至less需要PHP 5.4。 目前,在我公司的networking服务器上,我们运行了Centos 6以及PHP 5.3.3。 我知道使用第三方存储库(例如: https ://webtatic.com/packages/php54/)在我的Centos 6系统上安装PHP 5.4+确实是可行的,但是我正在寻找关于这样做的build议。 由于5.3.3是最常用的软件包中的最新软件包,我想知道是否有5.4+还没有添加的原因。 也许5.4+和Centos 6有一些不稳定的地方? 如果我决定在我的服务器上安装5.4+,有没有机会可以打破? 如果我不得不回滚到5.3.3,那么我在Laravel中构build的应用程序本质上是无用的,所以我只想知道所有的细节,然后决定升级到5.4并使用Laravel,或者将我的方法改为应用程序即去另一个框架。 只是在做出决定之前寻找一些build议。 谢谢。
我的nginx有一个error_page设置,会向PHP页面抛出500个错误。 我希望显示/logging导致此错误页面显示的任何PHP错误。 当我说显示,我的意思是显示在浏览器根据用户的凭据。 澄清:我想检索有关在PHP中发生的确切的错误的具体细节,不只是有一个错误。 这可能使用PHP5-FPM和nginx ?
我安装了Nginx和PHP5-FPM,并且一切正常,但是我注意到我安装了Nginx 1.2.1,而不是最新的稳定版本(1.6.x)。 我也注意到PHP-FPM有PHP 5.4而不是PHP 5.5。 但是,这不像旧的Nginx版本那么多的安全问题。 我如何安装: 添加deb http://nginx.org/packages/debian/ wheezy nginx到/etc/apt/sources.list 。 我也正确地添加了PGP密钥。 su apt-get update在更新期间列出了Nginx服务器,并且没有错误。 apt-get install nginx-extras php5-fpm 然后我configuration了两个我喜欢的。 我也意识到我有一个旧版本的Nginx。 我做了apt-cache show nginx-common ,看到了旧版本。 我试图apt-get upgrade无济于事。 apt-cache show nginx-common输出apt-cache show nginx-common : Package: nginx-common Source: nginx Version: 1.2.1-2.2+wheezy3 Installed-Size: 203 Maintainer: Kartik Mistry <[email protected]> Architecture: all Replaces: nginx (<< 0.8.54-4), nginx-extras (<< 0.8.54-4), […]
我最近更新了我的Debian wheezy(7.7),之后忘了检查所有的系统。 所以,在升级之前或者在什么时候打破了这个版本,我都说不出来是什么版本。 当我今天尝试连接到我的postconf时,我只收到一个空白页面。 查看错误日志显示此消息: PHP Fatal error: Cannot redeclare hex2bin() in /var/www/postconf/functions.inc.php on line 1338 如果我试图通过php5 /var/www/postconf/login.php直接将login页面调入php,则会出现同样的错误。
我有问题更新php服务器CentOS版本6.6(最终),从php-5.3.25到我所需的版本php-5.4.37。 我下载并启用了remi版本库,然后安装了所有的依赖关系提到的PHP版本,我已经重新启动apache,甚至重新启动系统,但是当我打电话命令 $ php -v 它仍然说老版本: PHP 5.3.25 (cli) (built: May 31 2013 23:20:28) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies 我甚至重试安装我的php的desidred verision,但看起来像它已经安装在系统上: $ yum install php-5.4.37-1.el6.remi Loaded plugins: fastestmirror, replace Setting up Install Process Loading mirror speeds from cached hostfile epel/metalink | 14 kB 00:00 * epel: […]
我有一个使用PHPMailer库发送电子邮件的PHP脚本。 当我使用PHP命令在SSH中运行脚本时,它完美地发送电子邮件。 但是,当同一个脚本的请求来自浏览器时,它是失败的,并给出以下错误。 2016-12-17 19:41:24 SMTP ERROR: Failed to connect to server: (0) 2016-12-17 19:41:24 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting error 我不确定是什么导致它不适用于浏览器请求。 我的脚本在AWS上,我正在使用谷歌商业电子邮件。 以下是我的代码片段。 require_once 'PHPMailer-master/PHPMailerAutoload.php'; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->IsHTML(true); $mail->CharSet = "text/html; charset=UTF-8;"; $mail->SMTPDebug = 2; $mail->SMTPSecure = 'ssl'; $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->Username = "google email address"; […]
我使用docker-compose来设置一个最小的nginx + php-fpm应用程序,但由于某些原因,docker容器上没有php.ini文件(我知道是因为phpinfo()表示Loaded Configuration File: (none) )。 这是我docker-compose.yml文件: web: image: nginx ports: – "8080:80" volumes: – ./site.conf:/etc/nginx/conf.d/site.conf links: – php php: image: php:5-fpm volumes: – .root:/var/www/html:ro command: bash -c "apt-get update && apt-get install -y php5-mysql && php-fpm" site.conf也很简单: server { index index.php; server_name local.myspicesage.com; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/html; location ~ \.php$ { […]
我很想在我的RHEL5.3服务器上运行PHP和MySQL的最新版本。 PHP,这样我就可以使用仅支持PHP 5.2.4或更高版本的Zend Framework 1.9。 MySQL,因为他们声称5.1更快。 我有点担心从RPM的安装,因为打破依赖关系,并不得不手动保持最新的事后。 经过一番研究,我find了Remi Repository 。 如果我把这个添加到我的存储列表中,yum update将能够升级PHP和MySQL。 这听起来太好了,是不是真的 – 所以我应该知道有什么陷阱或问题?
我安装了PHP 5.2.11,并启用了php_mssql.dll模块(并强制重新启动服务)开始接收有关无法加载dynamic库的警告。 操作环境是Windows 2003 R2下的IIS ISAPI。 这是检查的东西的列表 文件存在于\ PHP \ ext目录中,并且与其他分发交付库具有相同的时间戳。 权限对文件是正确的。 其他扩展程序已启用并以相同的权限运行。 ntwdblib.dll已从SQL Server 2005安装中复制(根据php.net对模块的要求) 在php_mssql条目之前和之后的其他模块正在工作。 我也删除了所有非必要的参考,并检测到了改进。 我打开了日志logging并启用了php.ini中的所有错误日志,日志没有生成任何错误日志。 searchGoogle已经发现了一大堆关于php.net的closures/未解决的bug报告和一些其他的近似匹配,其中没有一个真正解决了这个问题或者导致了任何启发。