我有nginx作为前端代理和Apache与mod_fcgid。 这个盒子有24GB RAM和16个核心。 我不应该是瓶颈。 似乎有一个瓶颈。 一旦遇到7000个请求,它会在继续之前挂起。 编辑3:有人可以解释PHP_FCGI_CHILDREN ? 我把它设置为1,东西似乎更好地工作。 把它设置得更好吗? 它确实跨越了很多像疯子一样高的过程。 编辑:明智的错误日志: (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server 编辑 – 问题2因为我使用nginx作为前端代理。 是否有可能我所有的端口最大,因此不能再发送到后端(Apache)? 我也注意到PHP procs快速死亡 16409 USER 20 0 0 0 0 Z 27.2 0.0 0:00.82 [php] <defunct> 即使有这样的事情,它失败了: /usr/local/apache/bin/ab -n 1000000 -c 10 http://IP/index.php apr_poll: The timeout specified has expired […]
尝试在Linux版本3.2.0-4-686-pae([email protected])(gcc版本4.6.3(Debian 4.6.3-14))中使用PHP 5.4.13编译Sybase#1 SMP Debian 3.2.35-2 # apt-get install freetds-dev php-5.4.13# ./configure –with-sybase-ct … … checking Checking for ctpublic.h… configure: error: ctpublic.h missing! # locate ctpublic.h /usr/include/ctpublic.h 我也试过了 php-5.4.13# ./configure –with-sybase-ct=/usr/include 一样。 没有骰子。 我searchinterwebs无济于事。 请帮忙。 谢谢。
我们有一个脚本定期更新自己的计划任务。 它下载一个ZIP,然后提取并覆盖一堆新的应用程序文件。 我们看到许多情况下,在更新的文件不被“看到”的IIS:显示怪异或在最坏的情况下,错误,因为一个“新”文件包含了一个“旧”的文件。 重新启动IIS修复了这个问题。 我试着添加显式的调用wincache_refresh_if_changed但这似乎并没有解决它。 每个FastCGI进程是否使用自己的WinCachecaching? 所以我需要刷新所有这些(如何?)。 但在我看来,一切都应该“正常工作”,因为wincache.fcndetect被启用。
在Centos 5上有ICU 4.2,但需要ICU 4.6中的Latin-ASCII translitarator。 有没有简单的方法来添加Latin-ASCII,而不需要重新编译ICU(CentOS没有rpm),然后PHP?
我尝试从命令行运行PHP脚本,但出现以下错误: Call to undefined function mysql_connect() 但是, mysql模块被加载: root /var/www/scripts # php -m | grep mysql mysql mysqli pdo_mysql 我在Debian机器上,所以所有的模块都被加载到自己的.ini文件中: root /var/www/scripts # php –ini Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/10-pdo.ini, /etc/php5/cli/conf.d/20-apc.ini, /etc/php5/cli/conf.d/20-gd.ini, /etc/php5/cli/conf.d/20-mcrypt.ini, /etc/php5/cli/conf.d/20-mysql.ini, /etc/php5/cli/conf.d/20-mysqli.ini, /etc/php5/cli/conf.d/20-pdo_mysql.ini, /etc/php5/cli/conf.d/20-xmlrpc.ini 所以,尽pipemysql模块已经被加载,但是在PHP脚本中调用mysql_connect()时候仍然会出现错误。 有任何想法吗? […]
所以我使用Linux(Ubuntu的),我试图连接到一个Microsoft Azure SQL数据库。 服务器信息: 服务器地址是a1a1a1a1a1.database.windows.net(a1a1a1a1a1是我的服务器名称的占位符) 数据库名称是MyDatabase 桌子叫[dbo]。[懒惰] Freetds.conf设置: [global] dump file = /tmp/freetds.log debug flags = 0xffff text size = 64512 [a1a1a1a1a1.database.windows.net] host = a1a1a1a1a1.database.windows.net port = 1433 tds version = 8.0 client charset = UTF-8 当我跑步 php -r "phpinfo();" | grep "PDO drivers" 在terminal它返回 PDO drivers => dblib, mysql 所以就我所知,所有的configuration和驱动程序安装都是应该的。 所以现在的错误: 错误1 如果我像这样初始化PDO: $conn […]
我们有一个web服务器与Apache 2.2.14,PHP 5.3.2。 PHP是使用mod_fcgid执行的(请参见下方)。 一切工作正常,但有时,我们仍然要弄清楚是什么触发了这一点,当PHP进程是“旋转”,他们仍然活跃和孤儿:Apache衍生新的PHP进程和旧的仍然在系统上。 杀他们并不总是把他们踢走。 更可能的是“apache2ctl优雅”从这个陈旧的过程中释放系统。 我们发现这在错误日志中:[Tue Jun 18 20:49:54 2013] [警告] mod_fcgid:进程2009优雅杀死失败,发送SIGKILL从我发现search这是非常正常的,但这是我在apache日志在这个过程之一泄漏。 幸运的是,这个事件很less发生,通常apache和php运行正常,在fcgid儿童更新期间没有问题。 我们怎样才能了解这些情况出了什么问题? 站点中的mod_fcgidconfiguration: <IfModule mod_fcgid.c> SuexecUserGroup domain domain <Directory /var/www/fomain.it/htdocs/> AddHandler fcgid-script .php FCGIWrapper /var/www/fcgi/domain.it/fcgi-starter-php .php Options +ExecCGI -Indexes AllowOverride FileInfo Options Order allow,deny Allow from all </Directory> <Directory /var/www/fcgi/domain.it/> AllowOverride None Options +ExecCGI MultiViews -Indexes Order allow,deny Allow from all […]
问题 我试图拒绝访问我的web根目录中的两个文件,update.php,install.php,并要求对apc.php(也是webroot)进行身份validation。 我想我已经成功地拒绝访问,但打开文件下载而不是运行。 例如,inputIPADDRESS / apc.php的authentication后,下载到我的电脑而不是打开。 同样的事情发生的update.php。 如果我删除引用这三个文件的块,它会成功,但当然,他们不被阻止。 我怎样才能解决这个问题? 至今 (我已经重新安排把相关的块带到最上面。) 我认为问题是这样的: 我唯一能find的位置匹配是^〜,所有其他的都被忽略(为什么?),expression式^〜匹配后停止search,所以我认为它从来没有findPHP块。 所以它下载而不是运行。 我试图添加phpconfiguration给块: location ^~ /update.php { allow 127.0.0.1; deny all; fastcgi_param SCRIPT_FILENAME /srv/www/mysite/public$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; } 但这只是使页面变成空白。 服务器configuration server { listen 8080; server_name website website.com; access_log /srv/www/website/logs/access.log; error_log /srv/www/website/logs/error.log; root /srv/www/website/public; location / { index index.php index.html index.htm; error_page 404 […]
在共享虚拟主机的服务器上,或者在不同的PHP应用程序之间共享PHP环境,我通常实现一个使用PHP open_basedir的安全策略来限制每个用户到他/她自己的目录(以及其他PHP指令,例如disable_functions )。 我也在SF上看到很多post,讨论使用这个function的好处。 然而,现在我偶然在Debian软件包文件README.Debian.security中发现了这个通知,明确指出它们不提供(其他的)安全支持: * Vulnerabilities involving any kind of open_basedir violation, as this feature is not considered a security model either by us or by PHP upstream. 所以我想知道,这个声明是否只是放弃任何责任,还是有更多的根本原因呢? 特别是,你将如何去保护一个没有open_basedir的多个不同用户使用的PHP服务器,同时尽量不把维护工作提高到一个高的水平? 或者你会只是build议永远不要共享主机,因为PHP开发人员在他们的安全说明中指出 ?
在Zend MVC应用程序的所有区域发生断断续续的错误“文件不存在:/ var / www / html / var”,导致页面偶尔无法加载 – 通常情况下,加载完美。 我们的设置 AWS上的LAMP堆栈上的MVC应用程序: Zend 1前端应用程序在一个中等c1 AWS Linux AMI 64位实例 MySQL数据库上的中型m1 AWS Linux AMI 64位实例 在应用服务器上与MVC应用并行运行phpbb3论坛,在数据库服务器上有2个数据库(一个用于应用,一个用于phpbb) PHP的5.4.22 MySQL 5.1.72 + mysqli 与应用和数据库服务器相关联的弹性IP地址 应用程序和数据库服务器使用私有IP连接(即应用程序服务器连接到数据库服务器私人IP,数据库服务器安全组接受应用程序服务器私人iP端口3306) 目前正在将该站点作为开发站点运行,使用主站点的开发目录,例如: www.mysite.com/dev/ 在/dev/configs/application.ini中我们定义如下: setting.basedir = dev setting.baseurl = http://www.mysite.com/dev setting.securebaseurl = http://www.mysite.com/dev 有我们的DNS与godaddy,并使用A主机= IP地址(即IP.IP.IP.IP)而不是CNAME 没有使用虚拟主机(因为我们每个“服务器”只有一个站点) 我们有htaccess文件和各种redirect – 但在我们的本地LAMP服务器没有错误 我们正在使用minify并将RewriteBase注释掉(默认情况下) httpd.conf的设置大多是默认的(让我知道是否有重要的,这里没有列出) ServerName www.mysite.com UseCanonicalName […]