I tried to upgrade a Plesk 9.5.5 Windows server to PHP 5.3.x this morning, and I don't think it can be done.
This server has two main applications on it: vBulletin and WordPress.
- vBulletin simply gave a "Internal Server Error"(error 500).
- Looking from the server itself, you got "Fatal error: Call to undefined function mysql_connect()"
- WordPress gave "Your PHP installation appears to be missing the MySQL extension which is required by WordPress" on one version.
- An older version of WordPress gave "Error establishing a database connection."
Here's the troubleshooting steps I took.
- Enabling the MySQL extensions made no difference.
- Verified the "extension_dir" and it was set properly to "C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\ext"
- Tried the "old" PHP 5.2.17 php.ini, and it failed.
- Even tried both new ones that came with PHP 5.3 -- with edited extensions entries, of course -- and it made no difference.
The php was there, and would see MySQL in the info file, but refused to work in the actual apps.
Code:
<?php
phpinfo();
?>
Yes, Plesk's run-time was disabled, as per the instructions for Parallels:
- Stop Plesk services (‘Control Panel’ and all that are included in the ‘Plesk Run-Time’ section)
- Rename folder %plesk_dir%\Additional\PleskPHP5 to the orig_PleskPHP5
- Create a new folder %plesk_dir%\Additional\PleskPHP5
- Download necessary version of PHP, unzip its content, and copy it to the newly created folder PleskPHP5
- Copy the file php.ini from the old folder orig_PleskPHP5 to the new one
- Make sure the permissions are inherited
- Start Plesk services
- Click the "Refresh" button in the Components Management section in Parallels Plesk Panel and check if you can see the new PHP version there
From
http://kb.parallels.com/6670
That works perfectly fine to upgrade PHP 5.2.x versions. But seemingly not to upgrade to 5.3.x
I even rebooted the whole server, to no avail.
The version used was PHP 5.2.17 nts (non-thread safe), as stated by the WinCache requirements.
And the new failed attempt was for PHP 5.3.21, current as of today, Feb-17-2013.
More info on thread-safe vs. non thread-safe here:
http://www.iis-aid.com/articles/my_w..._safe_binaries
So that failed.
I don't understand why.
So it's being left on PHP 5.2.17 for now. I guess the whole thing as to be upgraded, not just PHP.