Novell Home

Ocean PHP

From Developer Community

Contents

PHP

Summary

UNIX Name:        php
Website:          http://www.php.net
Latest version:   4.4.4 - 2006-8-17


Description

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.


Build Instructions

# ./extract_php4.sh
# ./build_php4.sh


This means the follow modules are not included:

--with-kerberos[=DIR]   OPENSSL: Include Kerberos support
--with-zlib[=DIR]       Include ZLIB support (requires zlib >= 1.0.9).
--enable-bcmath         Enable bc style precision math functions.
--with-bz2[=DIR]        Include BZip2 support
--enable-calendar       Enable support for calendar conversion
--with-cpdflib[=DIR]    Include cpdflib support (requires cpdflib >= 2).
--with-jpeg-dir[=DIR]     CPDF: Set the path to libjpeg install prefix.
--with-tiff-dir[=DIR]     CPDF: Set the path to libtiff install prefix.
--with-crack[=DIR]      Include crack support.
--with-curl[=DIR]       Include CURL support
--with-cyrus[=DIR]      Include Cyrus IMAP support
--with-db               Include old xDBM support (deprecated, use --enable-dba instead)
--enable-dba            Build DBA with builtin modules
--enable-dbase          Enable the bundled dbase library
--enable-dbx            Enable dbx
--enable-dio            Enable direct I/O support
--with-dom[=DIR]        Include DOM support (requires libxml >= 2.4.14).
--with-zlib-dir[=DIR]     DOMXML: Set the path to libz install prefix.
--with-dom-xslt[=DIR]     DOMXML: Include DOM XSLT support (requires libxslt >= 1.0.18).
--with-dom-exslt[=DIR]    DOMXML: Include DOM EXSLT support (requires libxslt >= 1.0.18).
--enable-exif           Enable EXIF (metadata from images) support
--with-fbsql[=DIR]      Include FrontBase support. DIR is the FrontBase base directory.
--with-fdftk[=DIR]      Include FDF support.
--enable-filepro        Enable the bundled read-only filePro support.
--with-fribidi[=DIR]    Include FriBidi support (requires FriBidi >= 0.10.4).
--enable-ftp            Enable FTP support
--with-gd[=DIR]         Include GD support where DIR is GD install prefix.
--with-jpeg-dir[=DIR]     GD: Set the path to libjpeg install prefix.
--with-png-dir[=DIR]      GD: Set the path to libpng install prefix.
--with-zlib-dir[=DIR]     GD: Set the path to libz install prefix.
--with-xpm-dir[=DIR]      GD: Set the path to libXpm install prefix.
--with-ttf[=DIR]          GD: Include FreeType 1.x support
--with-freetype-dir[=DIR] GD: Set the path to FreeType 2 install prefix.
--with-t1lib[=DIR]        GD: Include T1lib support.
--enable-gd-native-ttf    GD: Enable TrueType string function.
--enable-gd-jis-conv      GD: Enable JIS-mapped Japanese font support.
--with-gettext[=DIR]    Include GNU gettext support.
--with-gmp[=DIR]        Include GNU MP support
--with-hwapi[=DIR]      Include official Hyperwave API support
--with-hyperwave        Include Hyperwave support
--with-iconv[=DIR]      Include iconv support
--with-imap[=DIR]       Include IMAP support.
--with-kerberos[=DIR]     IMAP: Include Kerberos support.
--with-imap-ssl[=DIR]     IMAP: Include SSL support.
--with-informix[=DIR]   Include Informix support.
--with-ingres[=DIR]     Include Ingres II support.
--with-interbase[=DIR]  Include InterBase support.
--with-ircg             Include IRCG support.
--with-java[=DIR]       Include Java support.
--with-ldap[=DIR]       Include LDAP support.
--enable-mbstring       Enable multibyte string support.
--disable-mbregex         MBSTRING: Disable multibyte regex support
--with-libmbfl[=DIR]      MBSTRING: Use external libmbfl.
--with-mcal[=DIR]       Include MCAL support.
--with-mcrypt[=DIR]     Include mcrypt support.
--with-mcve[=DIR]       Include MCVE support. libmcve >= 3.2.2 or libmonetra >= 4.0 required
--with-openssl-dir[=DIR]  MCVE: openssl install prefix.
--with-mhash[=DIR]      Include mhash support.
--with-mime-magic[=FILE]Include mime_magic support.
--with-ming[=DIR]       Include MING support
--with-mnogosearch[=DIR]Include mnoGoSearch support.
--with-msession[=DIR]   Include msession support
--with-msql[=DIR]       Include mSQL support.
--with-mssql[=DIR]      Include MSSQL-DB support.
--with-mysql[=DIR]      Include MySQL support.
--with-ncurses[=DIR]    Include ncurses support (CLI/CGI only).
--with-oci8[=DIR]       Include Oracle (OCI8) support
--with-adabas[=DIR]     Include Adabas D support.
--with-sapdb[=DIR]      Include SAP DB support.
--with-solid[=DIR]      Include Solid support.
--with-ibm-db2[=DIR]    Include IBM DB2 support.
--with-empress[=DIR]    Include Empress support.
--with-birdstep[=DIR]   Include Birdstep support.
--with-iodbc[=DIR]      Include iODBC support.
--with-esoob[=DIR]      Include Easysoft OOB support.
--with-unixODBC[=DIR]   Include unixODBC support.
--with-dbmaker[=DIR]    Include DBMaker support.
--with-oracle[=DIR]     Include Oracle-oci7 support.
--with-ovrimos[=DIR]    Include Ovrimos SQL Server support.
--enable-pcntl          Enable experimental pcntl support (CLI/CGI only)
--with-pdflib[=DIR]     Include PDFlib support.
--with-pfpro[=DIR]      Include Verisign Payflow Pro support.
--with-pgsql[=DIR]      Include PostgreSQL support.
--with-pspell[=DIR]     Include PSPELL support.
--with-qtdom            Include QtDOM support (requires Qt >= 2.2.0).
--with-libedit[=DIR]    Include libedit readline replacement (CLI/CGI only)
--with-readline[=DIR]   Include readline support (CLI/CGI only)
--with-recode[=DIR]     Include recode support.
--with-mm[=DIR]         Include mm support for session storage
--enable-shmop          Enable shmop support
--with-snmp[=DIR]       Include SNMP support.
--with-openssl-dir[=DIR]  SNMP: openssl install prefix.
--enable-ucd-snmp-hack  Enable UCD SNMP hack
--enable-sockets        Enable sockets support
--with-swf[=DIR]        Include swf support
--with-sybase[=DIR]     Include Sybase-DB support.
--with-sybase-ct[=DIR]  Include Sybase-CT support.
--enable-sysvmsg        Enable sysvmsg support
--enable-sysvsem        Enable System V semaphore support.
--enable-sysvshm        Enable the System V shared memory support.
--enable-wddx           Enable WDDX support.
--with-expat-dir=<DIR>    XML: external libexpat install dir
--with-xmlrpc[=DIR]     Include XMLRPC-EPI support.
--with-expat-dir=<DIR>    XMLRPC-EPI: libexpat dir for XMLRPC-EPI.
--with-iconv-dir=<DIR>    XMLRPC-EPI: iconv dir for XMLRPC-EPI.
--enable-xslt           Enable xslt support.
--with-xslt-sablot=<DIR>  XSLT: Enable the sablotron backend.
--with-expat-dir=<DIR>    XSLT: libexpat dir for Sablotron.
--with-iconv-dir=<DIR>    XSLT: iconv dir for Sablotron.
--with-sablot-js=<DIR>    XSLT: enable JavaScript support for Sablotron.
--with-yaz[=DIR]        Include YAZ support (ANSI/NISO Z39.50).
--enable-yp             Include YP support.
--with-zip[=DIR]        Include ZIP support (requires zziplib >= 0.10.6).
--enable-memory-limit   Compile with memory limit support.
--enable-zend-multibyte Compile with zend multibyte support.


And the following are ignored.

--disable-ctype         Disable ctype functions
--disable-posix         Disable POSIX-like functions
--disable-session       Disable session support
--disable-tokenizer     Disable tokenizer support
--disable-overload      Disable user-space object overloading support.
--disable-xml           Disable XML support using bundled expat lib


Size Details

FreeBSD 6.1, GCC 3.4.4, recommended compile options.

component           size                stripped size       description
php 4.4.2           1,551,503           1,421,172           vanilla
                    1,229,003           1,109,748           i386
                    1,229,003           1,109,748           i486
                    1,233,099           1,113,844           pentium
                    1,233,099           1,113,844           pentium-mmx
                    1,499,339           1,380,084           pentiumpro
                    1,237,195           1,117,940           pentium2
                    1,499,595           1,380,340           celeron-mendocino
                    1,507,531           1,388,276           pentium3
                    1,507,531           1,388,276           pentium-m
                    1,487,988           1,368,756           pentium4
                    1,487,988           1,368,756           pentium4-prescott
                    1,487,988           1,368,756           pentium-nocona
                    1,233,099           1,113,844           via-c3
                    1,491,147           1,371,892           transmeta
                    1,413,323           1,294,068           k6
                    1,413,323           1,294,068           k6-2
                    1,413,323           1,294,068           k6-3
                    1,499,339           1,380,084           athlon
                    1,499,339           1,380,084           athlon-tbird
                    1,503,435           1,384,180           athlon-4
                    1,503,435           1,384,180           athlon-xp
                    1,503,435           1,384,180           athlon-mp
                    1,500,363           1,381,108           athlon64
                    1,500,363           1,381,108           opteron
                    1,500,363           1,381,108           turion64

Alternatives

php 5 : Version 5 of the PHP scripting language (1,798,832 bytes + 676 KB)

python : An interpreted object-oriented programming language (827,500 bytes + 33 MB)

perl 5 : Practical Extraction and Report Language (9,424 bytes + 31 MB)

ruby : An object-oriented interpreted scripting language (3,288 bytes + 6 MB)

sh : The GNU Project's Bourne Again SHell (594,692 bytes)

c/c++ : GNU Compiler Collection

java : Standard Java Platform for running Java programs (21,602 bytes + 76 MB)

mono : An open source implementation of .NET Development Framework (1,428,324 bytes + 56 MB)


Justification

Its easy to use, comes with a variety of functions, and is relatively compact compared to Perl & Python. Java and mono are not practical for small platforms, and c/c++ are too low level languages for web interfaces. Similarly the overhead of shell scripting is not conducive on a slow platform.

Upgrades to PHP are inevitable for bug fixes and better Unicode support.

Novell® Making IT Work As One

© 2010 Novell