View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0018545||phpList 3 application||Other||public||22-02-17 18:03||22-02-17 21:44|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||Fixed in Version||3.3.2|
|Summary||0018545: Fatal errors on php version are issued too late|
|Description||In admin/index.php there are two places where fatal errors are issued due to running an old release of php.|
The errors are issued after the main page processing has happened, which makes it likely that any php incompatibilities will already have been hit. So the processing would have failed and not get to the point of issuing the fatal error.
Generally php errors, such as parse/compile failures or use of non-existent methods tend to fail without any information.
It would seem to be better to issue these tests of the php version as early in the processing as possible before any files are included.
The code that tests the php version and issues the fatal errors has dependencies on the fatal_error() and s() functions, so it would be safer to just issue the error directly or with a new function that does not have any dependencies.
|Tags||No tags attached.|
Do you mean the version check and the release date check?
Yes, I guess you're right
||Although the release date check is not a PHP version check, but a phpList "age" check. For security, I think it's better if we force people to upgrade. Otherwise we will contribute to worm propagation.|
Yes, I mean the version and release date checks.
My point is that you can get syntax and other errors by having an old version of php, so it is best to try to avoid those by issuing the error as early as possible. Otherwise there is a danger of getting a general 500 error.