SMF Support > SMF 1.1.x Support

SMF 1.1.x incompatibility with recent PHP versions (PHP5.5+)

(1/5) > >>

SMF 1.1 final was released in late 2006, which makes it a 8+ years old product.

While the foundations of the codebase remain very fast, stable and secure even by today's standards, the evolution of the technologies on which it is based (especially PHP and MySQL) has reached a point where it is no longer viable to fix incompatibilities.

Starting from PHP 5.5 and MySQL 5.6, your existing SMF 1.1.x setup will no longer function properly. Immediate symptoms are:
* Warnings (thousands in a short amount of time) in your error log, about a PHP deprecated function

--- Code: ---Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ...................
--- End code ---
* Wrong boards order in your Board Index

You should note that PHP has already reached version 5.6+ and the current version of MySQL is 5.7+, so it is very likely that your host will upgrade to more recent versions shortly.
If you still run SMF 1.1.x you should consider an upgrade to 2.0.x, with time to try to adapt things while everything still works, instead of trying to recover from an unusable forum if the current incompatibilities get worse with time. The chances are that further changes to PHP/MySQL will render 1.1.x unusable in a not so distant future.

Study Force:
Many of us are waiting for SMF 2.1. Until then, any work done on 2.0.x is futile in my opinion.

1.1.x will work fine on  php 5.5
Here is a quick change to fix all notices.

open index.php change

--- Code: ---error_reporting(E_ALL);

--- End code ---

--- Code: ---error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);

--- End code ---

open ssi.php

--- Code: ---$ssi_error_reporting = error_reporting(E_ALL);

--- End code ---

--- Code: ---$ssi_error_reporting = error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);

--- End code ---

that just hides the problem, it does not actually fix the issue.

and the reason you get the deprecated warning is because the function will soon be completely removed instead of just deprecated
 - so, hiding the warning will get you a short time of function - all the while you are digging yourself deeper into a hole when you will eventually HAVE to upgrade in a short time instead of a planned migration.


[0] Message Index

[#] Next page

Go to full version