Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


I have been installing Wordpress on many subdomains on our dedicated server. All of them run CRON jobs every 10 minutes.

Long story short, the time to load first byte was getting to over 10 seconds.

I did some research and found that eAccelerator helps with speed issues for PHP-intensive websites and another website that gives some instruction on how to do this.

After installing the Atomic repo and doing a YUM update I installed eAccelerator like this:

yum install php-eaccelerator.x86_64

I checked the PHP version after the install and found this:

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.

So I was like...YAY, that was easy.

THEN I started noticing ALL the PROBLEMS.

First, a few of my MYSQL tables crashed and had to be repaired. The only way to get the REPAIR to work in PHPMyAdmin was to first login through SCP and change the owner of the actual database files to MYSQL, from it being blank. After this the repair worked and the tables are fine.

Next, A job I am running which connects to an external MYSQL server suddenly stopped working with a pasword authentication error. I changed the connect string from DBHOST to the actual IP:port and now the CRON reports:

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

FINALLY, and the reason why I did this in the first place was that all my Wordpress installs after working FINE for a long time suddenly stopped being able to call a CLASS that I know gets included (because it worked fine before). So now I get this:

Fatal error: Class 'PPT_Widgets_ARTICLES2' not found in /var/www/vhosts/ on line 324

That particular class is located in another directory, but it is there. Another piece of information is that the file that contains the CLASS were placed there by EXTRACTing a zipped file (via Plesk) by using PHP unzip. This unfortunately screwed up the owner and permissions, but the sites were ok.

I noticed that the YUM update rewrote my PHP.ini file so I thought it screwed up the include path. I still don't know if that is the case.

I have tried altering the owner and permissions on the file where the CLASS is and the widgets.php file also. None of these worked and it still thinks the CLASS doesn't exist. As a matter of fact, any time you include wp-config.php (which DEFINEs the MYSQL db, user, and password, it throws the same error about that stupid class (which I wrote and was working fine so it can't be all that stupid).

Before this the only mods to the server were the installation of FFMPEG and PHP TIDY.

ALSO...ANOTHER STRANGE THING is that all the CRON jobs are running FLAWLESSLY and they use the same INCLUDE of wp-config.php.

It's like the problem is isolated when PHP tries to run from the browser (eAccelerator?)

I have another Wordpress site that is running fine on the same server after I repaired a few of its tables. The sites that are having a problem do not have any corrupt tables.

I hope thats enough information.


share|improve this question
There seems TO BE a problem WITH your SHIFT key. And something of a lack of actionable question. – womble Jul 6 '12 at 16:21
Actually I was capitalizing words that I wanted to EMPHASIZE as well as words that were terms of PHP, Linux, Apache, or other computing terms. As far as the question goes, I thought it would be obviously apparent to those reading it. If not. The question is "why did the errors occur and how do I fix them?" – Rick Scolaro Jul 6 '12 at 18:07

I had many similar issues while using eAccelerator, (database tables needing to be repaired, database crashes, PHP memory errors) once I switched to APC I no longer had any issues. I am not sure what you are actually asking either. Maybe APC will help you out.

share|improve this answer
Thanks. I removed eAccelerator and installed APC, but I'm not noticing any great improvements in speed. Is there some other customization I need to do in order to get the results I want? Time to load first byte is still over 10 secs. – Rick Scolaro Jul 6 '12 at 18:44
You did add into your php.ini file, along with enabling and the .shm size? Also, just to throw it out there I am not sure I still completely understand your question, but another option may be to change the memory limit in your PHP file as well under "Resource Limits" – JMeterX Jul 6 '12 at 19:14
I can see it reported in phpinfo. My shm_size is set to 32M. My memory limit is set to 128MB. The question is "I would like to get my time to first byte down to a few seconds instead of 10+, how do I do that?" – Rick Scolaro Jul 6 '12 at 19:19
Okay just make sure you have: extension="" apc.enabled="1" apc.shm_size="30M" As far as my memory limit I have 2048m – JMeterX Jul 6 '12 at 19:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.