Xojo Conferences

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.

Feedback, Comments & Corrections

The biggest plugin in space...

MBS FileMaker blog