"My PHP script works on my server but it does not work on your server."

Libraries needed in PHP

Your PHP script may require certain libraries to be compiled into the PHP. Your compilation of PHP in your test server may have some libraries that our PHP does not have.

Take for example,if your PHP script contains lines like....

$resource = NewMagickWand();
MagickReadImage( $resource, 'image_1.jpg' );

... it would mean that our PHP needs to have ImageMagick libraries compiled in it.

ImageMagick is just an example that many of us are familiar with. In some cases, the programmers themselves are not fully aware of the libraries that need to be compiled in the PHP in order for their scripts to work. In such a scenario, doing a comparison of the  "phpinfo.php" script executed on the test server and the live server will likely yield the answer.

Missing Binaries

In some other cases, it is not due to libraries that are not compiled in the PHP, but due  to missing binaries on the server. That means, those binaries exist in your test server, but they do not exist in our server. And your PHP scripts need these binaries to execute properly.

Take for example, if your script contains lines like....

var $ps2pdfPath = '/usr/local/bin/ps2pdf';

... this would mean that our server needs to be installed with "Ghostscript" in order for your script to work on our server.

"Ghostscript" is an example that many of us are familiar with. Most programmers who need Ghostscript are usually aware that Ghostscript may not installed in some servers.

The challenge comes in when the programmer is not aware that his script needs a certain binary to work. In such a scenario, we can try our best to "guess" what binary the script needs. But if the programmer is aware, and points out to us that his script needs a particular binary, much time can be saved.