The PHP team is pleased to announce the second testing release of PHP 8.3.0, Alpha 2. This continues the PHP 8.3 release cycle, the rouch outline of which is specified in the PHP Wiki.For source downloads of PHP 8.3.0 Alpha 2 please visit download page.Please carefully test this version and report any issues found in the bug reporting system.Please DO NOT use this version in production, it is an early test version.For more information on the new features and other changes, you can read the NEWS file, or the UPGRADING file for a complete list of upgrading notes. These files can also be found in the release archive.The next release will be Alpha 3, planned for 6 July 2023.The signatures for this release can be found in the manifest or on the QA site.Thank you for helping us make PHP better!
Tag: ioncube decode
Introducing Free PHP Training Courses from Zend
Looking for free PHP training courses? In this blog, we give an overview of the new free training courses from Zend, what they cover, who should take them, and how to get started.
The DevOps Approach to Updating PHP
Updating PHP…with DevOps? Read thoughts on how modern DevOps approaches can benefit teams who need to update PHP, and strategies teams can apply even when managing legacy applications.
The State of WordPress PHP Support
Have questions on WordPress PHP support? Get answers in this blog from our expert, including the outlook for when teams can expect WordPress PHP 8 support.
PHP 8.3.0 Alpha 1 available for testing – PHP: Hypertext Preprocessor
The PHP team is pleased to announce the first testing release of PHP 8.3.0, Alpha 1. This starts the PHP 8.3 release cycle, the rough outline of which is specified in the PHP Wiki.For source downloads of PHP 8.3.0 Alpha 1 please visit the download page.Please carefully test this version and report any issues found using the bug tracking system.Please DO NOT use this version in production, it is an early test version.For more information on the new features and other changes, you can read the NEWS file, or the UPGRADING file for a complete list of upgrading notes. These files can also be found in the release archive.The next release will be Alpha 2, planned for 22 Jun 2023.The signatures for the release can be found in the manifest or on the QA site.Thank you for helping us make PHP better.
IBM i Modernization: Modernizing Smartly and On a Budget
IBM i modernization, even from a strategy perspective, can be convoluted and complicated. In this blog, our expert looks at efficient and cost-effective ways to modernize your IBM i applications.
Introducing JobQueue for ZendPHP
Get an overview of PHP job queueing, including commonly used tools, and ZendPHP JobQueue — a new tool that can help make PHP queueing easier than ever before.
Technical debt is over-used – Larry Garfield
Technical debt is over-used
The term “technical debt” gets thrown around a lot. Way too much, in fact. Part of that is because it has become a euphemism for “code I don’t like” or “code that predates me.” While there are reasons to dislike such code (both good and bad), that’s not what the term “technical debt” was invented to refer to.
So what does it mean? There’s several different kinds of “problematic code,” all of which come from different places.
Continue reading this post on PeakD.
Hiring PHP Developers vs. PHP Outsourcing vs. Training: Which Is Best for Your Business?
Considering hiring PHP developers vs. PHP outsourcing? Want to train your team to be experts? See the benefits of each approach in this blog.
Xdebug at 21 – Derick Rethans
Xdebug at 21
Today Xdebug turned 21.
Over these last twenty-one years Xdebug grew from a little hack to make sure PHP wouldn’t segfault when having infinite recursion, to a tool that is used by tens of thousands, if not hundreds of thousands, PHP developers.
This has mostly been the work by myself, with very few external contributions. That makes sense, as it hard to both understand the PHP engine well enough, as well as programming in C. Especially because lots of PHP internals are not actually documented.
Xdebug was developed on a mostly voluntary basis, with more recently through some sponsorship via Patreon and GitHub Sponsors, and through funding from Pro and Business supporters.
Beyond a brief period in early 2020 when I was rewriting Xdebug to version 3, this amounts to funding for about 25 hours a month, with a steady decline.
Twenty-five hours a month is about the minimum needed to maintain Xdebug for newer versions of PHP, including support for new features, as well as triaging and fixing bugs.
If you have been following my monthly reports, you probably have noticed that there is less activity, including in creating the reports and work logs.
But there are plenty of things that should be done, and several that would make Xdebug even more powerful in streamlining debugging and improving your applications. These are also things I would like to work on.
Current features that (in my opinion) need improvement are:
Profiling
The profiler is old code, and fairly messy. It is only possible to start the profiler for the whole of the request, and not only a part of it.
There are also bugs with cycle detection (function A calls function B calls function A) that need investigating.
It should be rewritten, which is luckily easier to do after Xdebug’s new modes architecture.
Code Coverage
The current code coverage feature keeps static information about which functions have lines and paths in the same data structure as the dynamic data collection that is recorded when the script runs. This causes problems.
I have a fix, but it slows down coverage by 50%. Before I can merge it, that needs addressing.
Among the new features that I like to contribute to Xdebug are:
Native Path Mappings
Currently Xdebug does not map paths between local files, and remote and/or generated files. There are some frameworks which rewrite developer-written-classes to a new version with additional functionality, but as a different file name.
Similarly Xdebug can not translate between local and remote paths, which causes confusion such as in this PhpStorm ticket.
Introducing native path mapping would address both these issues.
An implementation could also make it possible to debug generated PHP files, say from templates. Although PhpStorm has some capabilities for this for Twig and Blade templates, it is not supported for other template systems.
A native implementation in Xdebug also could make this working better and faster for what PhpStorm already does.
Time Travel Debugging
My tongue-in-cheek April Fools’ post hinted at this already.
Time Travel Debugging would allow somebody that runs a PHP request (either you as developer, or a customer running your on-premise application) to record its whole execution, including all intermediate states (variable contents, etc.), and source files.
By having this available in one file, a wrapper could then play this back pretending it was running a live request, through already existing debugging front-ends, such as the one in PhpStorm, the PHP Debug Adapter for Visual Studio Code,
Truncated by Planet PHP, read more at the original (another 1745 bytes)