Unable to empty trash


I am unable to empty the trash on all the concrete5 sites I have installed (hosted on same server), even on fresh installs of concrete5. Every time I try to empty the trash, or delete individual pages from the trash, I get a message similar to this:

Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password] in /hermes/bosoraweb029/b2582/ipg.mydomainname/domainnamefolder/concrete/libraries/3rdparty/Zend/Db/Adapter/Pdo/Abstract.php on line 129 Warning: Cannot modify header information - headers already sent by (output started at /hermes/bosoraweb029/b2582/ipg.mydomainname/domainnamefolder/concrete/libraries/3rdparty/Zend/Db/Adapter/Pdo/Abstract.php:129) in /hermes/bosoraweb029/b2582/ipg.mydomainname/domainnamefolder/concrete/core/libraries/view.php on line 644
An unexpected error occurred.
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

In the above I have replaced my prime domain name and name of its subdomain folder with mydomainname/domainnamefolder/

How do I solve this problem? I'd be grateful for any assistance as I need to resolve this. Thanks!

View Replies:
exchangecore replied on at Permalink Reply
This indicates a PHP version compatability issue to your MySQL database. As of PHP 5.3, you need to have the new password format, and it would appear that for whatever reason your MySQL server is still using the old one. You should contact your web host about this.

While not the best answer, the easiest way to solve this error is to go back to PHP 5.2, otherwise you will need to figure out what fields in the database are using the old function, and convert them to use the new one.

From the PHP 5.3 backward incompatibility athttp://www.php.net/manual/en/migration53.incompatible.php...
The new mysqlnd library necessitates the use of MySQL 4.1's newer 41-byte password format. Continued use of the old 16-byte passwords will cause mysql_connect() and similar functions to emit the error, "mysqlnd cannot connect to MySQL 4.1+ using old authentication."
webdeshis replied on at Permalink Reply
Thank you very much! I will contact my host about this and see if they can resolve the issue (I don't know enough about php to do it myself). Thanks again :)
webdeshis replied on at Permalink Reply
Update for anyone else who may come across this problem...

My host downgraded the php to 5.2 but I was then unable to login to the admin dashboard as my password wasn't recognized. Once the php was upgraded again, I could login fine.

The problem is thus ongoing and I have left it with my host for now.
exchangecore replied on at Permalink Reply
This is because that the encryption method used is different. Basically you have two options, find and convert all of the database fields that are encrypted using the mysql password function, and re-encrypt them using the new one, or option two if you don't need the content from your current site would be to have your host upgrade to php 5.3, and then do a full re-install of your c5 instance. I suspect that only the users table would need to be converted but wouldn't be able to say that with full confidence.
webdeshis replied on at Permalink Reply
It seems to be working now. What I did was downgrade the php to 5.3 and I was able to login and empty the trash fine. I haven't checked any other functionality but will report back if I come across problems.

This is the response my host made:

I have enabled 'output_buffering' in your php.ini file athttp://www.hostdomain.com/controlpanel/cgiManagement/phpplus.html... . Now, the URLhttp://mydomain.co.uk/index.php/dashboard/sitemap/full/... gives below error in our CGI error log while trying to delete the Trash folder:
20140518T034523: mydomain.co.uk/index.php/tools/required/dashboard/sitemap_delete_forever
PHP Warning: PDO::__construct(): The server requested authentication method unknown to the client [mysql_old_password] in /hermes/bosoraweb029/b2582/ipg.mydomain/subdomain/concrete/libraries/3rdparty/Zend/Db/Adapter/Pdo/Abstract.php on line 129
Currently, you've set PHP version 5.5 for your account. It appears to be a concrete5 compatibility issue with PHP version 5.5. Unfortunately, we cannot make any server-side changes to the PHP version in our shared platform. If you wish, you can downgrade the PHP version for your account athttp://www.ipage.com/controlpanel/cgiManagement/phpplus.html... and update any PHP settings in the php.ini file. If your concrete5 application require PHP version 5.5 then, I would suggest you to contact concrete5 support regarding the above error or raise the issue in their support forums for any workarounds/fixes.