Cross-Platform Code 2: Using Extensions

In order to be most flexible, PHP offers several extensions that are not cross-platform. For example, the COM extension is only available for Windows, and the process control extension is only available for Unix. This is a necessary evil: it is often better to have something that works for just a few people than to have nothing at all.

If you need to make use of OS-specific extensions, you have two options: inform your users that they need to use a specific OS, or edit your source code to forcefully bail out if you find it being run on the wrong OS. The first option relies on people actually reading your documentation before using the script, but the second option means that each script needs to do unnecessary work to make sure the right OS is being used.

Your best bet is usually to add text everywhere you have the chance: documentation, readme, FAQ, on the web site, etc., and leave the script with no checking. When it does not work because a specific extension does not exist, people will look for the answer and hopefully find it wherever you put it.

Get PHP in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.