Platforms to show: All Mac Windows Linux Cross-Platform

FAQ.How to compile PHP library?

Answer: You have to download the source code and compile a static version of the library.

This instructions were written based on PHP 5.2.6 on Mac OS X:

  • Best take a new Mac with current Xcode version installed.
  • Download the source code archive. e.g. "php-5.2.6.tar.bz2"
  • Expand that archive on your harddisc.
  • Open terminal window
  • change directory to the php directory. e.g. "cd /php-5.2.6"
  • execute this two lines to define the supported CPU types and the minimum Mac OS X version:
  • export CFLAGS="-arch ppc -arch i386 -mmacosx-version-min=10.3"
  • export CXXFLAGS="-arch ppc -arch i386 -mmacosx-version-min=10.3"
  • the command "./configure help" does show the configure options.
  • use configure with a line like this:
  • ./configure --enable-embed --with-curl -enable-ftp --enable-zip --enable-sockets --enable-static --enable-soap --with-zlib --with-bz2 --enable-exif --enable-bcmath --enable-calendar
  • start the compilation with "make all"
  • other option is to use "make install" which first does the same as "make all" and than does some installation scripts.
  • you may get an error about a duplicate symbole _yytext. Search the file "zend_ini_scanner.c", search a line with "char *yytext;" and change it to "extern char *yytext;".
  • On the end you get a lot of error messages, but you have a working library (named libphp5.so) file in the invisible ".libs" folder inside your php source folder.

Possible problems and solutions:

  • If the path to your files has spaces, you can get into trouble. e.g. "/RB Plugins/PHP" is bad as files will be searched sometimes in "/RB".
  • If you have in /usr/local/lib libraries which conflict with the default libraries, you can get into trouble.
  • If you installed some open source tools which compiled their own libraries, you can get into conflicts.
  • if you have to reconfigure or after a problem, you may need to use "make clean" before you start "make all" again.

Feel free to install additional libraries and add more packages to the configure line.


The biggest plugin in space...