In order to be most flexible, PHP offers several extensions are that not cross-platform. For example, the COM extension is only available for Windows, and the process control extension is only available for Unix. Indeed, some parts of this book will only work on some platforms, which is an annoyance for those without the working platform, but 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 really 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.
Next chapter: Cross-platform code 3: Path and line separators >>
Previous chapter: Cross-platform code 1: Loading extensions
Home: Table of Contents
Copyright ©2015 Paul Hudson. Follow me: @twostraws.