Here’s a new version of the turbo_realpath extension which solves the performance problems with PHP applications and NFS storage. This is mainly a maintenance release that adds support for the latest versions of PHP like 5.4 and 5.5. (more…)
Archive for the ‘PHP’ Category
There are situations, when you need to port a functionality from one programming language to another.
Some time ago I had to create the equivalent of explode() function in Microsoft SQL 2005.
Here is the result of my one-day battle with SQL. (more…)
As you probably know, the updates that were intended for postponed PHP 6 were added to PHP 5.4.0 instead, so now PHP includes a huge set of new language features and removes several legacy behaviors.
Because of that I created a list of major changes since PHP 5.3 ,along with some examples and brief descriptions of these changes… (more…)
In one of my previous articles I explained how to build a PHP extension, and how to declare a simple function in C. I demonstrated how to return data from the C function to the script in PHP. But I have not explained how to pass the arguments to the function, nor how to change the values of existing PHP variables.
In order to do so, I have to introduce you the internal ZVAL data structure used by PHP engine to store the PHP variables. (more…)
There are some situations when every developer encounters limitations in PHP. For some, the problem is performance, for others the lack of specific, low-level functionality.
In that cases, the only solution is to write your own PHP extension that adds the missing features to the language.
Unfortunately, although the documentation of the PHP language itself is excellent, the information on the programming of the PHP engine are rudimentary.
In this series of articles I will try to show you, how to write the PHP extensions and describe some of the Zend engine features. (more…)
More than a month has passed since I published my PHP extension fixing the performance issues with NFS and PHP. Since then, turbo_realpath has become quite popular among Web administrators. Unfortunately, despite my warnings, many of them don’t disable the PHP functions responsible for creating links and symlinks, or do it wrong way.
For this reason I decided to publish a new version of the turbo_realpath extension, which adds the ability to automatically disable dangerous functions in PHP. (more…)
Another month, another Drupal 7 version. Drupal 7.4 was released some days ago so it’s my turn to announce the next version of Drupal 7.x patch adding support for HipHop for PHP source code transformer.
Drupal HH7 Version: 1.2
Release date: 30-06-2011
Compatible with: Drupal 7.4
Not compatible with: HipHop branches 36a16fb and 6044908 and Drupal 7.0-7.2
Tested on HipHop branch: 806ee06 and earlier
Modules compatibility list can be found at the end of this article. Please report any patch issues in the comments to this annoucement. (more…)
This is a sample, high-performance HTTP server written in pure PHP.
Thanks to various optimizations, this server is able to handle more than 800 HTTP requests/second on a dual core laptop (Core 2 Duo 1.6Ghz).
This in turn allows you to create highly efficient PHP scripts with low response times (less than 1ms latency between sending request to launching PHP script).
In result this software is sometimes faster than the Apache HTTP Server (which is written in highly efficient C language). (more…)
Probably all PHP developers know what is the eval() command, and why it should be avoided.
There are several reasons, but mainly the problem is the safety and efficiency of the script. An additional disadvantage may be lack of support by the compilers of PHP code (for example, HipHop for PHP).
Unfortunately, there are situations where it is necessary to execute dynamically created code. In this article I will focus on performance and faster replacement of eval() command. (more…)