Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

PHP 5.4.14 and PHP 5.3.24 released!
Apr 11, 2013 @ 09:07:21

As is mentioned on the main PHP.net site today PHP 5.4.14 and 5.3.24 have been released:

The PHP development team announces the immediate availability of PHP 5.4.14 and PHP 5.3.24. These releases fix about 10 bugs aswell as upgrading the bundled PCRE library. All users of PHP are encouraged to upgrade to PHP 5.4.14.

Users are encouraged to update to this latest release. You can find the latest version either on the downloads page (source) or the Windows site (binaries). If you're curious what all changed in this release, check out the Changelog.

tagged: language release stable bugfix pcre library update

Link: http://php.net/archive/2013.php#id2013-04-11-1

Lorna Mitchell's Blog:
Missing pcre.h when installing pecl_oauth
Sep 27, 2010 @ 12:58:50

If you've ever come up against an error when trying to compile the pecl_oauth package (from the PECL repository), you might take a look at this new post from Lorna Mitchell on how she solved the issue and got the compile running smoothly again.

When I tried to install from PECL, it grabbed the files, ran the configure step but stopped with an error status during make. [...] Closer inspection showed this line around the point things started to go wrong: Error [...] pcre.h: No such file or directory. I didn't have the header files for pcre installed - in ubuntu the headers are in the -dev packages.

A quick call to "aptitude" to grab and install those development libraries and she was back up and running. She's running Ubuntu, but this tip is cross-distribution - you'll just have to use the package manager (and package name) of your distribution's choice.

tagged: pecloauth install compile pecl oauth pcre header


Padraic Brady's Blog:
PCRE Regex Word Matching: "w" vs "a-zA-Z0-9_"
Dec 28, 2009 @ 09:41:21

Padraic Brady has posted about an issue he noticed when working with regular expressions and the "word" character type to find something that's alpha-numeric (including an underscore):

You can find the "word" generic character type used in a lot of PHP code including the Zend Framework. The problem is that the assumption above is incorrect. Now, most of the time these act identically because PHP is compiled using its own packaged PCRE library. However, I've seen more than once systems where this is not the case. Usually in some non-English capacity where additional locale support was considered necessary or standard practice.

The problem comes when PHP is compiled against a custom PCRE library, making it more locale-aware. He gives instructions on how to get this to a testable state on your environment (using an updated PREC library) and get it working for characters in French, like the accented "a" or "e".

tagged: pcre regularexpression locale french


Regular Expressions (Part1) - Basic Syntax
Oct 13, 2008 @ 09:35:48

PHPFreaks.com has posted part one of a series of tutorials covering some of the basics of one of the more powerful features in any language - regular expression support.

Regular expressions (which will now be referred to as "regexes") are basically pattern matching inside of text. They use special syntax and concepts in order to obtain information from a string. Many programming languages have some sort of support for regexes, because of the sheer usefulness of them. Not only can patterns be used to validate that a certain pattern exists in a string, but they can also be used to physically extract matched portions and make them usable in your PHP code.

They look at some of the basics - example structure, metacharacters, greediness as well as include a brief comparison of PCRE versus POSIX versions. The tutorial is peppered with plenty of example expressions too, giving you a good idea of what you're working towards knowing.

tagged: regular expression introduction tutorial metacharacter posix pcre


PHP 5.2.6 Released
May 02, 2008 @ 07:51:13

The PHP development team has released the latest version in the PHP 5.2.x series today - version 5.2.6:

This release focuses on improving the stability ofthe PHP 5.2.x branch with over 120 bug fixes, several of which are security related.All users of PHP are encouraged to upgrade to this release. Further details about the PHP 5.2.6 release can be found in the release announcement for 5.2.6, the full list of changes is available in the ChangeLog for PHP 5.

Security updates include prevention of a buffer overflow in FastCGI mode, an integer overflow in printf, correction for a safe_mode bypass method in cURL and the bundling of PCRE 7.6 to update the regular expression functionality of the language.

You can grab this latest release from the downloads page on PHP.net (or your favorite mirror) - both the source and the Windows binaries.

tagged: release php5 series security overflow pcre safemode download


Antony Dovgal's Blog:
5.3 snapshots are available
Feb 28, 2008 @ 09:33:00

Antony Dovgal points out that Derick Rethans has added the snapshots for PHP 5.3 to the snaps.php.net website.

Short list of what you can find there: Namespaces, __callstatic() magic method, accessing static members through $foo::myFunc(), fully rewritten ini-parser with .htaccess-like user defined ini files for CGI/FastCGI, improved OpenSSL extension, PCRE 7.4, and other fixes and improvements that will never get into 5_2 branch.

He recommends teching throughly before the major release to find all of the bug before the general public does. Builds for both source and Windows systems have been posted.

tagged: php5 snapshot snaps namespace latestaticbinding static pcre openssl


Handling UTF-8 with PHP
Jan 24, 2008 @ 07:51:00

Ed Finkler has pointed out a handy resource for those trying to cope with using the UTF-8 support included in several of PHP's functions - this page on the Web Application Component Toolkit wiki.

This page is intended as a reference for functionality PHP provides which can either help with handling UTF-8 or should be regarded as a risk when used in conjunction with UTF-8 encoded strings. Further information can be found on the Internationalization (I18N) and Character Sets / Character Encoding Issues pages.

It talks about the "dangerous" functionality PHP has (issues that the language has in current functions) when using things like the PCRE extension, the string extension, the array methods, handling variables, the XML extensions (DOM and SAX), image manipulation, and URL parsing functionality.

tagged: utf8 dangerous functionality pcre xml string array image url