简体   繁体   中英

Joomla 1.5.x website works with PHP 5.3 but does not work with PHP 5.6

I tried to run my Joomla 1.x website with PHP 5.6 and got the following errors:

Strict Standards: Declaration of KHttpUri::set() should be compatible with KObject::set($property, $value = NULL) in /home/beauty/www/libraries/koowa/http/uri.php on line 0 Strict Standards: Declaration of KHttpUri::get() should be compatible with KObject::get($property = NULL, $default = NULL) in /home/beauty/www/libraries/koowa/http/uri.php on line 0 Strict Standards: Non-static method JLoader::register() should not be called statically in /home/beauty/www/libraries/joomla/cache/cache.php on line 19 Strict Standards: Declaration of JCacheStorage::get() should be compatible with JObject::get($property, $default = NULL) in /home/beauty/www/libraries/joomla/cache/storage.php on line 0 Strict Standards: Non-static method JLoader::register() should not be called statically in /home/beauty/www/libraries/joomla/document/document.php on line 19 Strict Standards: Non-static method JLoader::import() should not be called statically in /home/beauty/www/libraries/loader.php on line 186 Strict Sta ndards: Non-static method JLoader::import() should not be called statically in /home/beauty/www/libraries/loader.php on line 186 Fatal error: Call-time pass-by-reference has been removed in /home/beauty/www/plugins/content/listitems.php on line 95

The website worked fine before with PHP 5.3 (on Ubuntu 12.X LTS), so probably this is something related to compatibility PHP 5.3/5.6.

Does anyone know what is it? What PHP extension this can relate to?

It is pointless to tinkering with such an old Joomla version and get it run with a php 5.6. Joomla 1.5.x is not compatible with PHP 5.4 nor with 5.6; it's old but still available: docs.joomla.org/Joomla_1.5_won't_work_on_PHP_5.4 . Nevertheless, the library koowa is not part of Joomla itself; you could rename the declarations of your classes, rename all functions which are called static (ie JLoader::register()) to a static function, etc. But you are still working with unsecure old libraries/plugins/components and Joomla version. Maybe you've changed the error reporting somewhere else (.htaccess), and you should have a look at http://php.net/manual/en/appendices.php . You should better migrate your site to the latest Joomla3.7.4 and PHP7... By the way, Call-time pass-by-reference has been removed in /home/beauty/www/plugins/content/listitems.php on line 95 which can be solved like in PHP 5.4 Call-time pass-by-reference - Easy fix available? , usually the function call works without the @ . Please also specify the exact version of Joomla (in your question please), between 1.0 and 1.5 as well as 1.7 are huge differences!

These are only strict and standard warnings, so you can just set the global config param debug to none and all warnings will be gone.

Better would it be to check the code and manually fix it for PHP 5.6 handling - no developer will give you support for Joomla!v1.5 anymore, so you have to fix it on your own.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM