Hello everyone, I see forum is pretty hot at the moment as update was released so I'll post a simple one to let me understand. I'm on CentOS 6 and using succesfully your great software. Now, last two updates failed because of a PHP syntax error right after the question "Create new ISPConfig SSL certificate (yes,no) [no]:", and the error is the following: PHP Parse error: syntax error, unexpected '[' in /usr/local/ispconfig/server/plugins-available/powerdns_plugin.inc.php on line 535 I checked out that line and found that there two arrays are declared with "$somename = [];" that is array syntax sugar available from PHP 5.4 . I'm using PHP 5.3.3 so it failed both updates to 3.1.14 and to 3.1.14p1 . Now my question is: was the minimum required PHP version for ISPConfig raised (thus I'm outdated) or is this a bug (thus it needs a fix) ? Thank you.
I suspect it's a regression, not that minimum requirements changed. If you change the initializations from '[]' to 'array()' does the update continue without further issues?
Hi Jesse, thank you for reply I tried that launching again the "ispconfig_update.sh" after the edit, but the script now says that there are no more updates and quits. If you know of a way to "force" the update I'll let you know in minutes.
Download the ISPConfig installer package. and run the update script from there. That forces the update to run.
Wrong dude, the system requirements have changed, for example: ubuntu 8.04-18.04 for ispconfig 3.1.13p1 but only ubuntu 16.04-18.04 for ispconfig 3.1.14+
Ok, it took me a bit more than expected because those two instructions were not enough. Follows the complete list of editings required to make the update PHP 5.3 compliant. All the edits are from file: ispconfig/server/plugins-available/powerdns_plugin.inc.php Line 535: $pubkeys = []; became $pubkeys = array(); Line 552: $formatted = []; became $formatted = array(); Line 542: $dnssec_info = array_merge($this->format_dnssec_pubkeys($pubkeys), ['', '== Raw log ============================'], $log); became $dnssec_info = array_merge($this->format_dnssec_pubkeys($pubkeys), array('', '== Raw log ============================'), $log); Line 573: if (!in_array($key_type, ['KSK', 'CSK'], true)) { became if (!in_array($key_type, array('KSK', 'CSK'), true)) { Line 676: $dnssec_info = array_merge(['== Raw log ============================'], $log); became $dnssec_info = array_merge(array('== Raw log ============================'), $log); This way I reached the final "Update finished." .
Like i said php support for 3.1.14 is now only limited cover form the last 2-3 years, i your php is too old, you can only use ispconfig upto 3.1.13p1 on your system.
Cross-posting: sorry, didn't read your post because you posted while I was completing my post. Ok, so the final answer is "I'm outdated". Alright, I'll update my system. Where can I track the PHP version that ISPConfig will need from now on?
ISPConfig needs the PHP version that comes standard with the operating system that ISPConfig supports. If the OS is out of support, newer versions of ISPConfig may no longer support that old system with it's old PHP version.
We will probably backport the code of that plugin to be compatible with older PHP releases, but just as it's not a big deal to do so and the only drawback is a bit longer code. As mentioned in the release notes, we started to abandon very old operating system versions as they limit us in development and php 5.3 is so old now that it's time to stop supporting it.
I plenty agree with you. Indeed I'll update my system as time as come to do it; PHP 5.3 is old now, and this just gives you a clue about how long is I'm using your great manager by the way, keep it up!
Hi, eny ETA on this issue? The latest ISPConfig version as of now is 3.1.15p1, which is not compatible with PHP<5.4 due to powerdns_plugin.
Thank you, Till! BTW...can you push me in right directions with manually editing the old file? I run the ispconfig_update.sh script, pause right before it asks me to create new SSL cert, then I open separate SSH window, manually plant the MODIFIED file /usr/local/ispconfig/server/plugins-available/powerdns_plugin.inc.php then let the update script continue. But then obviously script pulls the powerdns_plugin.inc.php file from somewhere and replaces my modified file with its own, uncompatible file. I am obviously doing something wrong. Any idea what?
Probably not, as I have no idea how to do this. I just ran ispconfig_update.sh on server. ***EDIT*** Sorry, my bad...I did it now, just read what ispconfig_update.sh offers me and it went just fine now. Thank you both, Jesse & Till! It is the first question when starting ispconfig_update.sh: Code: Select update method (stable,git-stable,git-master) [stable]: git-stable
BTW...the latest git-stable version has deal-breaker, which prevents ISPConfig to operate: PHP Parse error: syntax error, unexpected '[', expecting ')' in /usr/local/ispconfig/server/lib/classes/monitor_tools.inc.php on line 257
There is no deal-breaker, I use the current git-stable in production. The code is fine, it's just your old PHP version again. I'll change the code this time, but this will be the last patch release where we will support such ancient PHP versions.
Thank you, Till! The mentioned error prevents me from running any ISPCOnfig jobs, as they just get stuck on the row, with increased red-dot job indicator. You will save my day with one more downported version. But please, understand that I am very well aware of my ancient PHP version on this server, but I have 247 customers on this server with 300+ web sites....indeed they are all hosted for bargain, but they are still customers and I am sure I WILL break most of those web sites if I go: - Linux release-upgrade from 12.04 to any higher version - because Apache changes are significant from 2.2 to 2.4 - to be able to upgrade PHP to any version higher than 5.3 I've tried two times with all the upgrades, but I ended up two days later with snapshot reverting back to older version, as it did not work. So probably the only reliable way for me is to migrate hosted web sites one by one to one of newer servers and this is time and resource consuming process, which I will never get paid for. And it makes me wondering if I should even continue running this low-profitable hosting business...but that's another story.