服务器:Linux CENTOS 6 PLESK 10.4.4
我一直在我们的专用服务器上的许多子域上安装Wordpress。 他们全部每10分钟运行一次CRON作业。
长话短说,加载第一个字节的时间已经超过了10秒。
我做了一些调查,发现eAccelerator帮助PHP密集型网站的速度问题和另一个网站,提供了一些指导如何做到这一点。
http://imanpage.com/code/how-install-yum-zend-optimizer-eaccelerator-and-apc
安装Atomic回购和做YUM更新后,我安装了这样的eAccelerator:
yum install php-eaccelerator.x86_64
我安装后检查了PHP版本,发现这个:
PHP 5.3.14 (cli) (built: Jun 14 2012 16:34:56) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with eAccelerator v0.9.6-svn358-dev, Copyright (c) 2004-2007 eAccelerator, by eAccelerator with the ionCube PHP Loader v4.0.10, Copyright (c) 2002-2011, by ionCube Ltd.
所以我就像… YAY,那很容易。
那么我开始注意到所有的问题。
首先,我的一些MYSQL表崩溃,不得不修复。 要使REPAIR在PHPMyAdmin中工作的唯一方法是首先通过SCPlogin,然后将实际数据库文件的所有者更改为MYSQL,然后将其保留为空。 在此之后,修复工作,表格都很好。
接下来,连接到外部MYSQL服务器的正在运行的作业突然停止使用paswordauthentication错误。 我将连接string从DBHOST更改为实际的IP:端口,现在CRON报告:
PHP Warning: mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /usr/local/bin/video-queue.php on line 230
最后,我之所以这样做是因为我的Wordpress安装了很长一段时间后,突然停止了能够调用我知道包含的CLASS(因为它以前工作正常)。 所以现在我得到这个:
Fatal error: Class 'PPT_Widgets_ARTICLES2' not found in /var/www/vhosts/md1network.com/albany/wp-includes/widgets.php on line 324
该特定的类位于另一个目录中,但它在那里。 另一个信息是包含CLASS的文件通过使用PHP解压缩来提取压缩文件(通过Plesk)。 这不幸地搞砸了所有者和权限,但网站是好的。
我注意到YUM更新重写了我的PHP.ini文件,所以我认为它搞砸了包含path。 我仍然不知道情况是否如此。
我已经尝试更改CLASS所在文件的所有者和权限以及widgets.php文件。 这些都没有工作,它仍然认为CLASS不存在。 事实上,任何时候你包含wp-config.php(它定义了MYSQL数据库,用户和密码,它会抛出相同的错误关于那个愚蠢的类(我写的,工作正常,所以它不能所有这些愚蠢的)。
在此之前,服务器的唯一mod是安装FFMPEG和PHP TIDY。
另外…另一个奇怪的是,所有的CRON作业都运行无损,他们使用相同的wp-config.php包含。
这就像当PHP试图从浏览器运行(eAccelerator?)时,问题是孤立的
我修复了一些表格后,又有一个Wordpress网站在同一台服务器上正常运行。 有问题的网站没有任何损坏的表格。
我希望有足够的信息。
请帮忙。 干草堆
我在使用eAccelerator时遇到了很多类似的问题(数据库表需要修复,数据库崩溃,PHP内存错误),一旦我切换到APC,我不再有任何问题。 我不确定你究竟在问什么。 也许APC会帮助你。