Articles of PHP

find哪些页面导致负载?

我通常不是一个系统pipe理员,但我已经有负载繁重的生产服务器(服务一些基本的PHP页面,和一些PHPredirect文件,有一些SQL查询,没有图像),不断崩溃。 具体来说,负载达到20左右,并请求超时。 在apache访问日志或错误日志中没有任何内容表示exception活动,但是磁盘IO图表显示了与我们的宕机时间相关的严重读/写尖峰。 我知道这是这些页面的一些组合,每小时几十万次点击,但我很难过,我不知道要使用哪些工具。 我需要看到A)这些网页每秒钟/分钟/小时的点击次数,以及B)服务每页的时间。 有什么可用来分析负载下的活动服务器? 什么是最好的? 服务器是apache2,php5,Ubuntu的耐寒。 任何build议都非常感谢。 编辑: 感谢您的想法。 我可以编辑PHP,但是这些页面是devise人员经常更改的页面,他们喜欢复制/粘贴/删除东西,我希望find比这更好的东西,因为这是我们很多服务器上反复出现的问题。 生产服务器上是否真的没有用于监视服务器负载每个文件的软件包? 我必须诉诸于debugging工具和每个代码段分析? 如果我的服务器已经窒息的命中,不会添加XDebug royally F *!# – 我的S @ ^&?

用syslog集中PHP错误日志

我有一个运行在20个Web服务器上的PHP应用程序。 检查每个服务器的PHP错误日志是愚蠢的。 我打算把错误logging集中在一个(不是一个Web服务器,一个只用于监控的服务器上)。 PHP通过做一个简单的更改“error_log = syslog”来支持syslog的日志logging。 然后我将configurationsyslogdlogin到我的中央服务器。 有人试过这个吗? 有什么build议? 任何我应该小心的? 这会影响性能吗?

EC2上从PHP到MySQL的连接时间很长

我有一个间歇性的问题与InnoDB连接到一个数据库从属。 间歇性地我得到的连接时间超过2秒。 这些服务器托pipe在亚马逊的EC2上。 应用程序服务器是在Ubuntu上运行的PHP 5.2 / Apache。 DB slave在Ubuntu 9.10上运行Percona的XtraDB 5.1。 它使用EBS Raidarrays来存储数据。 我们已经使用跳过名称parsing并绑定到地址0.0.0.0。 这是失败的PHP代码的一个存根 $ tmp = mysqli_init(); $ start_time = microtime(true); $ tmp-> options(MYSQLI_OPT_CONNECT_TIMEOUT,2); $ TMP-> real_connect($ DB_SERVERS [$服务器] [ '服务器'], $ DB_SERVERS [$服务器] [ '用户名'] $ DB_SERVERS [$服务器] [ '密码'], $ DB_SERVERS [$服务器] [ '模式'], $ DB_SERVERS [$服务器] [ '端口']); 如果(mysqli_connect_errno()){ $ […]

我必须重新编译php来启用GD库吗?

我在我的服务器上安装了一个GD库,“已启用”,但在php.info中的configuration命令下,它说 "–without-gd" 有没有办法通过根启用它,或者我必须重新编译? 编辑:这是它下面显示“GD” GD支持启用 GD版本捆绑(2.0.34兼容) 启用FreeType支持 FreeType与freetype的联系 FreeType版本2.2.1 GIF阅读支持启用 GIF创build支持启用 JPG支持启用 启用了PNG支持 启用了WBMP支持 已启用XBM支持 这是我的testing脚本: //开始php 标题('content-type:image / jpg'); $ watermark = imagecreatefrompng('ninja.jpg'); $ watermark_width = imagesx($ watermark); $ watermark_height = imagesy($ watermark); $ image = imagecreatetruecolor($ watermark_width,$ watermark_height); $ image = imagecreatefromjpeg($ _ GET ['src']); $ size = getimagesize($ _ GET ['src']); $ […]

如何创build每天更新的MySQL数据库备份文件?

想象一下,我正在build立一个银行的networking应用程序。 因此,我需要每天至less备份一次数据库,并且每天备份整个数据库听起来效率不高。 所以我想知道如何创build只保存当天交易的数据库的备份文件。

如果我静态编译一个从源代码安装的PHP安装程序,那么libphp5.so包含任何依赖关系?

基本上我只是想知道是否可以将libphp5.so文件拖放到没有PHP的另一台服务器上,并具有PHP的function以及静态编译的所有扩展。 (从源码编译一堆扩展) 我尝试使用这个文件上的ld工具(在我的服务器上),但它只是吐出一堆未定义的引用。 自从安装工作以来,这是无关紧要的。 编辑: 我现在意识到我正在使用ld而不是ldd 。 现在我得到一个依赖关系列表。 我猜我会需要所有这些文件正确? 所以我的问题是,如果我recursion获取所有的共享对象文件,并把它们放在目的地服务器上的相同位置(可能通过自定义的RPM),PHP会运行一个新的服务器,没有一个正式的PHP安装? 我可以错过ldd找不到的任何隐藏的依赖关系吗?

如何阻止login到我的PHP错误日志mod_deflate?

我有一个我不能控制的系统上的环境设置,mod_deflate在每个请求的错误日志中input约3行。 他们只是debugging级别,但由于某种原因,控制服务器的人将不会禁用该级别的报告,并且stream量到我的站点足以使服务器从所有日志条目中崩溃。 有没有办法告诉mod_deflate不要写入日志或其他我可以通过htaccess的网站级别做什么? 我在一个相当基础的RHEL LAMP服务器上。 谢谢! 摘抄: [Thu Dec 16 15:00:32 2010] [debug] mod_headers.c(743): headers: ap_headers_output_filter() [Thu Dec 16 15:00:32 2010] [debug] mod_deflate.c(602): [client IP] Zlib: Compressed 50442 to 9565 : URL /index.php [Thu Dec 16 15:00:34 2010] [debug] mod_headers.c(743): headers: ap_headers_output_filter() [Thu Dec 16 15:00:34 2010] [debug] mod_deflate.c(602): [client IP] Zlib: Compressed 1191 to […]

“脚本标题提前结束”发生,看似随机

我的Apache错误日志显示错误“脚本标题出现过早结束”,偶尔会发生,我的站点似乎向浏览器返回500内部服务器错误。 奇怪的是,这会发生几分钟,然后一切都会恢复正常。

当在子文件夹中访问PHP脚本时,“<handler> scriptProcessor找不到<fastCGI>应用程序configuration”

可能重复: 在访问子文件夹中的PHP脚本时,“<handler> scriptProcessor在<fastCGI>应用程序configuration”中找不到 我有IIS上的PHP的configuration问题。 这是在Win7上使用MS Web PI进行的实际安装。 我创build了一个简单的PHPtesting页面。 它工作在根级http://localhost/test.php和第一个子级http://localhost/site/test.php ,但不在http://localhost/site/subfolder/test.php ,那里我得到HTTP 500错误: <handler> scriptProcessor could not be found in <fastCGI> application configuration 一切似乎都按照http://www.iis.net/ConfigReference/system.webServer/fastCgi/application中的规定进行configuration 是否有某种filter可以禁用特定文件夹级别的处理?或者仅在前两个级别启用它? 我应该检查什么?

Apache服务器上的LAMP permisson问题

我已经拖网了几天,现在想我已经尝试了几乎所有的东西,以获得在我的Ubuntu服务器上设置一些虚拟主机,但在webroot上的所有短chmod 777失败。 我有我的默认Apache conf指向/ home / server / public_html与下面的设置显示 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /home/server/public_html/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /home/server/public_html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log […]