I think we didn't resume the discussion yet for 2.0.
2.0 is likely to be a thing in a couple of years (realistically), so php "stable" should be... 7.4 more or less (1 version per year and 7.2 has just been released few days ago).
According to http://php.net/supported-versions.php 7.0 has gone out of active support 3 days ago and will receive security fixes for about another year (end 2018).
I think in the recent couple of years, since php started the new release model, the attention has increased and even hosting companies started providing very recent versions of php. Also many projects jumped on the 7.x wagon meaning that the support should be there almost everywhere, even though people may not be aware of it.
So... I think it would be safe to say 7.0 at least or maybe even 7.1 as minimum (considering that 7.1 will receive security updates only until end 2019).
Opinions?
BTWW this topic is twitter's fault for showing me this https://twitter.com/joomla/status/938421673941962753 :P
Agree ... 7.x is what it should be, what .x is time will tell, but starting out with .1 makes the most sense to me.
I agree with this too. 2.0 should run on at least 7.0 so it will be easier for the developer to focus their energy for betterment rather than backward compatibility to older php version. 7.1 to start with IMHO would be too much though since most linux distro haven't even use that as their default supported php as yet.
I can confirm that, a few days ago I installed in localhost Joomla 4 (alpha release) and the minimum php version required is 7.0.
I choose the most recent version for today - php 7.2
I just installed and tested elkarte with php7.2. So far so good...
I would go with 7.1 depending on your timeline.
All my current sites are on the latest 7.1.x
PHP 7.1 as a minimum seems fine by me. After all, PHP 7.0 will already be EOL by the time 2.0 will see the light of day. But of course at the same time, one shouldn't randomly break 7.0 or even 5.6 compatibility unless there's a good reason to.
So in that sense I'd say start out with 7.07.1 as a target and should something come up that would be a lot more elegant with 7.17.2 you can just call it a day for 7.07.1 compatibility. :P
Edit: oh, 7.0 is out of active support already? (Sorry, I should've fully read the OP. :-[ Never mind, replace 7.0 and 7.1 by 7.1 and 7.2 in the above then. ;) Still, unless there's a good use case for those void return types it seems like 7.0 is reasonable enough.
Yep, 7.2 doesn't really offers anything that much important in comparison to 7.1.
7.1 has few minor goodies, but then again nothing tremendously relevant.
7.0 is mostly old already. xD
I think the idea is: we continue coding without worrying too much about compatibility with anything below the minimum. If by chance when we are a the end of the release cycle nothing is broken and Elk can run on something lower than the defined minimum that's all good, if it cannot that's good as well.
I don't think we strictly need any 7.0/1 feature, of course we are not forced not to use them if we need them. I hope the sentence makes sense. LOL
Anyway the outcome seems pretty clear: 7.1 seems acceptable.
/me goes thinking about upgrading his development computer now (still running php 5.6).
I think a lot of low cost hoster use PHP5.6 :o
So I think this is the lowest level for PHP ...
And 7.2 have a lot of deprecated functions ... this must checked.
Fel
If something were to be released
now I would agree (and 1.1 is still 5.3). But if you think of what will be in 2 years from now I don't think many will still be using 5.x.
Well .. I lift up our forum to PHP 7.2 Beta and activate Opcode Cache ..
Wow .. Very fast .. half time as on PHP 7.1 without Opcode Cache :)
Cache: Load 52,17 kb, Save 3,34 kb, Time 7,84 ms
Page created in 0,07 seconds with 22 queries.
Fel
Yaass! Null coalescence operators can be used!
So what about 7.1 with opcode cache? :P
Not true ...
PHP 7 introduced a real coalesce operator:
echo $_GET['doesNotExist'] ?? 'fallback'; // prints 'fallback'
If the value before the ?? does not exists or is null the value after the ?? is taken.
The improvement over the mentioned ?: operator is, that the ?? also handles undefined variables without throwing an E_NOTICE.
Fel
A little bit slower then 7.2 ..
Fel
How did one activate opcode cache for one's php? I am kinda confused on its implementation while reading about it.
You can use AWS/GCP for free. Containers are everywhere; minimum versions are a thing of the past. Build applications in the way that's easiest for developers; admins will figure out how to install it.
Well .. I think that is different by hoster.
On my hosting I need this.
1. create a new folder in your
your_base_directory_full_path with the name
.opcache2. in your php.ini enter follow:
zend_extension=opcache.so;
opcache.enable=1;
opcache.memory_consumption=32;
opcache.interned_strings_buffer=8;
opcache.max_accelerated_files=3000;
opcache.revalidate_freq=180;
opcache.fast_shutdown=0;
opcache.enable_cli=0;
opcache.revalidate_path=0;
opcache.validate_timestamps=2;
opcache.max_file_size=0;
opcache.file_cache=/your_base_directory_full_path/.opcache;
opcache.file_cache_only=1;
I dont known if this work on your server ...
Fel
I use my own private server and I think I should be able to do this on website-to-website basis. Thank you for the how to.
Have you tested that and works ?
I haven't got a chance yet. Busy finishing cluster / mirror server. Hopefully I can manage before this year end.
I implemented this opcache and it seems working with level two under Alternative Php Caching. I will see how it goes from here for the coming weeks. Thank you for the tip.