A LOT of things mentioned on that page have changed. Which parts ? To name just 5 : - PHP is naturally tied to Apache - no it isn't. There's PHP-FPM, there's Nginx Unit, it even works on IIS. - php.ini applies to every PHP application run anywhere - there is a main php.ini but you can override this anywhere you want and in any webserver - Similarly, there is no easy way to “insulate” a PHP application and its dependencies from the rest of a system. Running two applications that require different versions of a library, or even PHP itself? Start by building a second copy of Apache - couldn't be more wrong. It's in fact very easy to run multiple PHP versions next to eachother. - PHP basically runs as CGI. Every time a page is hit, PHP recompiles the whole thing before executing it. Even dev servers for Python toy frameworks don’t act like this - PHP opcache has been part of core for many years - No coherent deployment mechanism - plenty of solutions exist, depending on your toolset
Nobody says PHP is perfect, but neither are other languages. They all have quirks. But pointing to documents from 2012 is kinda ridiculous...
Which is the same for Ruby, Python, Perl,.Net, Java, Go and every other language. If you don't know how to code, the language doesn't matter. Perhaps a more constructive comment next time ?
Couldn't agree more ! This was exactly what I was thinking : the security contact address will be spammed so hard that it'll be hard to find the mails that should get through.
The contamination source was a combination of the people who collected the water samples (not researchers, just people all around the world), the containers in which the water was stored and transported, and the research lab which was not up to standard at all.
You obviously have no clue if you compare EU to China. For starters, the EU is not a country. And the rest is obvious to anyone with a little intelligence...
I'm the third party you're talking about, the developer of phpAdsNew. Sadly, things took a turn for the worse when the company OpenAds (now OpenX) decided to make a business out of the advertising server. Although they've made a lot of money, the open source version has been neglected completely.
I put the download page online because I didn't like the fact that you had to register, but I'm haven't been involved in the project since 2002, so there's not much I can do about this shameful bug.
Works fine in Belgium, where there's hundreds of cameras and we see a steady decrease in the number of casualties at those lights. But maybe that's because there are so many, people actually start slowing down well in advance and don't hit the brakes as soon as they see a camera...
True, but I can't find a 14" with a screen HD 1920x1200 or 1920x1080... my Dell Latitude D820 was perfect offering all the bells and whistles without the keypad, but the successor has a keypad:-(
Good advice, but impossible to do if you have a modern laptop, because even 15" laptops now have a keypad by default. It drives me crazy, because it means the keyboard is off-center and the glidepath is off-center. Makes me wonder what idiot came up with the idea that 15" laptops needed a keypad ?
Actually it will already work on PHP 5.2/5.3 if it was compiled with --enable-zend-multibyte but that will depend on the hosting provider or the distribution being used.
So checking whether the host has this enabled (phpinfo() will tell you) is your best bet. For 5.4 you still need to have it compiled with --enable-zend-multibyte but now you can disable it in php.ini
The fact that 5.4 doesn't introduce any backward incompatibilities should also increase the adoption rate significantly.
The problem here might not be the open tag, but closing tag. If you use include(_once) or require(_once) and you used a closing tag in the file you're trying to include or require, you hve to be careful nothing follows that closing tag (like a newline...). The best option is : - Never to use a closing tag, since it's optional anyway - To use a standard PHP IDE to write your code
You might want to read http://techblog.wimgodden.be/tag/codesniffer/ Make sure you have PHP_CodeSniffer version 1.3, not 1.2, otherwise it won't work...
Keep in mind that it doesn't guarantee full compatibility with PHP 5.4, but it does all the automated checks it can do, so that's a huge timesaver. Including it it Debian or any other distribution is certainly a good idea. But I recommend waiting a week or two... I just released it today, so there may be some minor bugs in there...
Scan your code, folks
on
PHP 5.4 Released
·
· Score: 5, Insightful
If you want to get your code compatible, a start is to scan it automatically : https://github.com/wimg/PHPCompatibility - just released for 5.4 as well:-)
A LOT of things mentioned on that page have changed. Which parts ? To name just 5 :
- PHP is naturally tied to Apache - no it isn't. There's PHP-FPM, there's Nginx Unit, it even works on IIS.
- php.ini applies to every PHP application run anywhere - there is a main php.ini but you can override this anywhere you want and in any webserver
- Similarly, there is no easy way to “insulate” a PHP application and its dependencies from the rest of a system. Running two applications that require different versions of a library, or even PHP itself? Start by building a second copy of Apache - couldn't be more wrong. It's in fact very easy to run multiple PHP versions next to eachother.
- PHP basically runs as CGI. Every time a page is hit, PHP recompiles the whole thing before executing it. Even dev servers for Python toy frameworks don’t act like this - PHP opcache has been part of core for many years
- No coherent deployment mechanism - plenty of solutions exist, depending on your toolset
Nobody says PHP is perfect, but neither are other languages. They all have quirks. But pointing to documents from 2012 is kinda ridiculous...
Oh believe me, I know ;-)
Managers don't understand that any piece of software needs maintenance...
There are tools to check your code to see if it will work with newer versions of PHP, like PHPCompatibility.
Any testing PHP is easy : you can write unit tests, integration tests, etc.
Which is the same for Ruby, Python, Perl, .Net, Java, Go and every other language. If you don't know how to code, the language doesn't matter.
Perhaps a more constructive comment next time ?
Uh... https://developers.slashdot.org/story/17/02/21/2039256/php-becomes-first-programming-language-to-add-modern-cryptography-library-in-its-core
Couldn't agree more ! This was exactly what I was thinking : the security contact address will be spammed so hard that it'll be hard to find the mails that should get through.
The contamination source was a combination of the people who collected the water samples (not researchers, just people all around the world), the containers in which the water was stored and transported, and the research lab which was not up to standard at all.
And you're claiming this stone dropping based on which source ?
You can always try running this on your code first : https://github.com/wimg/PHPCompatibility
This is news from April ! WTF ? https://freedom-to-tinker.com/blog/jeremyepstein/decertifying-the-worst-voting-machine-in-the-us/
You obviously have no clue if you compare EU to China. For starters, the EU is not a country. And the rest is obvious to anyone with a little intelligence...
php-fpm uses the fastcgi protocol, which is not the same as cgi and therefor not vulnerable.
I'm the third party you're talking about, the developer of phpAdsNew. Sadly, things took a turn for the worse when the company OpenAds (now OpenX) decided to make a business out of the advertising server. Although they've made a lot of money, the open source version has been neglected completely.
I put the download page online because I didn't like the fact that you had to register, but I'm haven't been involved in the project since 2002, so there's not much I can do about this shameful bug.
Belgian ISP Telenet is doing this on 600.000 of its customers' routers. They call it 'homespot'.
Customers can login to any homespot (another customer's router) or any hotspot (at restaurants, airports, train stations, etc.) free of charge.
Works fine in Belgium, where there's hundreds of cameras and we see a steady decrease in the number of casualties at those lights. But maybe that's because there are so many, people actually start slowing down well in advance and don't hit the brakes as soon as they see a camera...
True, but I can't find a 14" with a screen HD 1920x1200 or 1920x1080... my Dell Latitude D820 was perfect offering all the bells and whistles without the keypad, but the successor has a keypad :-(
Good advice, but impossible to do if you have a modern laptop, because even 15" laptops now have a keypad by default. It drives me crazy, because it means the keyboard is off-center and the glidepath is off-center.
Makes me wonder what idiot came up with the idea that 15" laptops needed a keypad ?
Actually it will already work on PHP 5.2/5.3 if it was compiled with --enable-zend-multibyte but that will depend on the hosting provider or the distribution being used.
So checking whether the host has this enabled (phpinfo() will tell you) is your best bet.
For 5.4 you still need to have it compiled with --enable-zend-multibyte but now you can disable it in php.ini
The fact that 5.4 doesn't introduce any backward incompatibilities should also increase the adoption rate significantly.
To fix your problem, set 'zend.multibyte = 1' in php.ini
The problem here might not be the open tag, but closing tag. If you use include(_once) or require(_once) and you used a closing tag in the file you're trying to include or require, you hve to be careful nothing follows that closing tag (like a newline...).
The best option is :
- Never to use a closing tag, since it's optional anyway
- To use a standard PHP IDE to write your code
You might want to read http://techblog.wimgodden.be/tag/codesniffer/
Make sure you have PHP_CodeSniffer version 1.3, not 1.2, otherwise it won't work...
Keep in mind that it doesn't guarantee full compatibility with PHP 5.4, but it does all the automated checks it can do, so that's a huge timesaver.
Including it it Debian or any other distribution is certainly a good idea. But I recommend waiting a week or two... I just released it today, so there may be some minor bugs in there...
If you want to get your code compatible, a start is to scan it automatically : https://github.com/wimg/PHPCompatibility - just released for 5.4 as well :-)
Almost everything planned for PHP 6 is in 5.4, except for full unicode support, which was slowing down the entire language too much.
Using the PHPCompatibility Codesniffer rules will get you a long way : https://github.com/wimg/PHPCompatibility