add php5 package

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1667 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Nicolas Thill 2005-08-14 16:27:48 +00:00
parent bd316bc9b2
commit aef2bda2e5
25 changed files with 1236 additions and 0 deletions

View File

@ -19,6 +19,7 @@ source "package/microperl/Config.in"
source "package/monit/Config.in" source "package/monit/Config.in"
source "package/osiris/Config.in" source "package/osiris/Config.in"
source "package/php4/Config.in" source "package/php4/Config.in"
source "package/php5/Config.in"
menu "sablevm - a Java Virtual Machine (JVM) implementation" menu "sablevm - a Java Virtual Machine (JVM) implementation"
source "package/sablevm/Config.in" source "package/sablevm/Config.in"
source "package/sablevm-classpath/Config.in" source "package/sablevm-classpath/Config.in"

View File

@ -106,6 +106,7 @@ package-$(BR2_PACKAGE_OSIRIS) += osiris
package-$(BR2_PACKAGE_PARPROUTED) += parprouted package-$(BR2_PACKAGE_PARPROUTED) += parprouted
package-$(BR2_PACKAGE_PCRE) += pcre package-$(BR2_PACKAGE_PCRE) += pcre
package-$(BR2_COMPILE_PHP4) += php4 package-$(BR2_COMPILE_PHP4) += php4
package-$(BR2_COMPILE_PHP5) += php5
package-$(BR2_PACKAGE_PICOCOM) += picocom package-$(BR2_PACKAGE_PICOCOM) += picocom
package-$(BR2_PACKAGE_PMACCT) += pmacct package-$(BR2_PACKAGE_PMACCT) += pmacct
package-$(BR2_PACKAGE_POPT) += popt package-$(BR2_PACKAGE_POPT) += popt
@ -273,6 +274,29 @@ ifneq ($(BR2_PACKAGE_PHP4_MOD_XML),)
php4-compile: expat-compile php4-compile: expat-compile
endif endif
php5-compile: openssl-compile zlib-compile
ifneq ($(BR2_PACKAGE_PHP5_MOD_GD),)
php5-compile: libgd-compile libpng-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_LDAP),)
php5-compile: openldap-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_MYSQL),)
php5-compile: mysql-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_PCRE),)
php5-compile: pcre-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_PGSQL),)
php5-compile: postgresql-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_SQLITE),)
php5-compile: sqlite2-compile
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_XML),)
php5-compile: expat-compile
endif
pmacct-compile: libpcap-compile pmacct-compile: libpcap-compile
ifneq ($(BR2_PACKAGE_PMACCT_MYSQL),) ifneq ($(BR2_PACKAGE_PMACCT_MYSQL),)
pmacct-compile: mysql-compile pmacct-compile: mysql-compile

126
package/php5/Config.in Normal file
View File

@ -0,0 +1,126 @@
menu "php5 - PHP5 Hypertext preprocessor"
config BR2_COMPILE_PHP5
bool
default n
depends BR2_PACKAGE_PHP5_CLI || BR2_PACKAGE_PHP5_CGI || BR2_PACKAGE_PHP5_FASTCGI
comment "Server API --"
config BR2_PACKAGE_PHP5_CLI
prompt "...-cli - PHP5 CLI (Command Line Interface)"
tristate
# default m if CONFIG_DEVEL
select BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_ZLIB
help
PHP is a widely-used general-purpose scripting language that is especially
suited for Web development and can be embedded into HTML.
http://www.php.net/
config BR2_PACKAGE_PHP5_CGI
prompt "...-cgi - PHP5 built for CGI"
tristate
# default m if CONFIG_DEVEL
select BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_ZLIB
help
PHP is a widely-used general-purpose scripting language that is especially
suited for Web development and can be embedded into HTML.
http://www.php.net/
config BR2_PACKAGE_PHP5_FASTCGI
prompt "...-fastcgi - PHP5 built for FastCGI"
tristate
# default m if CONFIG_DEVEL
select BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_ZLIB
help
PHP is a widely-used general-purpose scripting language that is especially
suited for Web development and can be embedded into HTML.
http://www.php.net/
comment "Extensions --"
config BR2_PACKAGE_PHP5_MOD_FTP
prompt "...-mod-ftp - FTP module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
config BR2_PACKAGE_PHP5_MOD_GD
prompt "...-mod-gd - GD graphics library module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBGD
select BR2_PACKAGE_LIBPNG
config BR2_PACKAGE_PHP5_MOD_LDAP
prompt "...-mod-ldap - LDAP module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBOPENLDAP
config BR2_PACKAGE_PHP5_MOD_MYSQL
prompt "...-mod-mysql - MySQL module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBMYSQLCLIENT
config BR2_PACKAGE_PHP5_MOD_OPENSSL
prompt "...-mod-openssl - OpenSSL module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBOPENSSL
config BR2_PACKAGE_PHP5_MOD_PCRE
prompt "...-mod-pcre - PCRE module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBPCRE
config BR2_PACKAGE_PHP5_MOD_PGSQL
prompt "...-mod-pgsql - PostgreSQL module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBPQ
config BR2_PACKAGE_PHP5_MOD_SESSION
prompt "...-mod-session - Sessions module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
config BR2_PACKAGE_PHP5_MOD_SQLITE
prompt "...-mod-sqlite - SQLite module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBSQLITE2
config BR2_PACKAGE_PHP5_MOD_SOCKETS
prompt "...-mod-sockets - Sockets module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
config BR2_PACKAGE_PHP5_MOD_XML
prompt "...-mod-xml - XML module"
tristate
# default m if CONFIG_DEVEL
depends BR2_COMPILE_PHP5
select BR2_PACKAGE_LIBEXPAT
endmenu

271
package/php5/Makefile Normal file
View File

@ -0,0 +1,271 @@
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=php
PKG_VERSION:=5.0.4
PKG_RELEASE:=1
PKG_MD5SUM:=fb1aac107870f897d26563a9cc5053c0
PKG_SOURCE_URL:=http://fr.php.net/distributions/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_CAT:=bzcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
include $(TOPDIR)/package/rules.mk
define PKG_mod_template
$$(IPKG_$(1)):
install -d -m0755 $$(IDIR_$(1))/usr/lib/php
install -m0755 $(PKG_BUILD_DIR)/modules/$(2).so $$(IDIR_$(1))/usr/lib/php
$(RSTRIP) $$(IDIR_$(1))
$(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
endef
PKG_CONFIGURE_OPTS:= \
--enable-shared \
--disable-static \
--disable-rpath \
--disable-debug \
--without-pear \
--disable-spl \
\
--with-config-file-path=/etc \
--disable-ipv6 \
--enable-magic-quotes \
--enable-memory-limit \
--disable-short-tags \
\
--disable-ctype \
--disable-dom \
--enable-ftp=shared \
--without-gettext \
--without-iconv \
--disable-libxml \
--without-libxml-dir \
--disable-mbstring \
--disable-mbregex \
--with-openssl=shared,"$(STAGING_DIR)/usr" \
--with-kerberos=no \
--with-openssl-dir="$(STAGING_DIR)/usr" \
--enable-session=shared \
--disable-simplexml \
--disable-soap \
--enable-sockets=shared \
--disable-tokenizer \
--with-zlib="$(STAGING_DIR)/usr" \
--with-zlib-dir="$(STAGING_DIR)/usr" \
ifneq ($(BR2_PACKAGE_PHP5_MOD_GD),)
PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_DIR)/usr" \
--enable-gd-native-ttf \
--with-png-dir="$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-gd
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_LDAP),)
PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_DIR)/usr" \
--with-ldap-sasl="$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-ldap
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_MYSQL),)
PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-mysql
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_PCRE),)
PKG_CONFIGURE_OPTS+= --with-pcre-regex=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-pcre-regex
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_PGSQL),)
PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-pgsql
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_SQLITE),)
PKG_CONFIGURE_OPTS+= --with-sqlite=shared,"$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --without-sqlite
endif
ifneq ($(BR2_PACKAGE_PHP5_MOD_XML),)
PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_DIR)/usr" \
--with-libexpat-dir="$(STAGING_DIR)/usr"
else
PKG_CONFIGURE_OPTS+= --disable-xml
endif
$(eval $(call PKG_template,PHP5_CLI,php5-cli,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_CGI,php5-cgi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_FASTCGI,php5-fastcgi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_FTP,php5-mod-ftp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_GD,php5-mod-gd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_LDAP,php5-mod-ldap,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_MYSQL,php5-mod-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_OPENSSL,php5-mod-openssl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_PCRE,php5-mod-pcre,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_PGSQL,php5-mod-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_SESSION,php5-mod-session,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_SOCKETS,php5-mod-sockets,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_SQLITE,php5-mod-sqlite,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,PHP5_MOD_XML,php5-mod-xml,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_mod_template,PHP5_MOD_FTP,ftp))
$(eval $(call PKG_mod_template,PHP5_MOD_GD,gd))
$(eval $(call PKG_mod_template,PHP5_MOD_LDAP,ldap))
$(eval $(call PKG_mod_template,PHP5_MOD_MYSQL,mysql))
$(eval $(call PKG_mod_template,PHP5_MOD_OPENSSL,openssl))
$(eval $(call PKG_mod_template,PHP5_MOD_PCRE,pcre))
$(eval $(call PKG_mod_template,PHP5_MOD_PGSQL,pgsql))
$(eval $(call PKG_mod_template,PHP5_MOD_SESSION,session))
$(eval $(call PKG_mod_template,PHP5_MOD_SOCKETS,sockets))
$(eval $(call PKG_mod_template,PHP5_MOD_SQLITE,sqlite))
$(eval $(call PKG_mod_template,PHP5_MOD_XML,xml))
$(PKG_BUILD_DIR)/.configured:
touch $@
$(PKG_BUILD_DIR)/.built:
(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
LIBS="-lcrypto -lssl" \
php_cv_cc_rpath="no" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
$(PKG_CONFIGURE_OPTS) \
--enable-cli \
--disable-cgi \
--disable-fastcgi \
--enable-force-cgi-redirect \
--enable-discard-path \
);
$(MAKE) -C $(PKG_BUILD_DIR)
mv $(PKG_BUILD_DIR)/sapi/cli/php $(PKG_BUILD_DIR)/php-cli
(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
LIBS="-lcrypto -lssl" \
php_cv_cc_rpath="no" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
$(PKG_CONFIGURE_OPTS) \
--disable-cli \
--enable-cgi \
--disable-fastcgi \
--enable-force-cgi-redirect \
--enable-discard-path \
);
$(MAKE) -C $(PKG_BUILD_DIR)
mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-cgi
$(MAKE) -C $(PKG_BUILD_DIR) clean
(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
LIBS="-lcrypto -lssl" \
php_cv_cc_rpath="no" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/sbin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
$(PKG_CONFIGURE_OPTS) \
--disable-cli \
--enable-cgi \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-discard-path \
);
$(MAKE) -C $(PKG_BUILD_DIR)
mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-fastcgi
touch $@
$(IPKG_PHP5_CLI):
install -m0755 -d $(IDIR_PHP5_CLI)/etc
install -m0644 ./files/php.ini $(IDIR_PHP5_CLI)/etc/
install -m0755 -d $(IDIR_PHP5_CLI)/usr/bin
cp -fpR $(PKG_BUILD_DIR)/php-cli $(IDIR_PHP5_CLI)/usr/bin/php
$(RSTRIP) $(IDIR_PHP5_CLI)
$(IPKG_BUILD) $(IDIR_PHP5_CLI) $(PACKAGE_DIR)
$(IPKG_PHP5_CGI):
install -m0755 -d $(IDIR_PHP5_CGI)/etc
install -m0644 ./files/php.ini $(IDIR_PHP5_CGI)/etc/
install -m0755 -d $(IDIR_PHP5_CGI)/usr/bin
cp -fpR $(PKG_BUILD_DIR)/php-cgi $(IDIR_PHP5_CGI)/usr/bin/php
$(RSTRIP) $(IDIR_PHP5_CGI)
$(IPKG_BUILD) $(IDIR_PHP5_CGI) $(PACKAGE_DIR)
$(IPKG_PHP5_FASTCGI):
install -m0755 -d $(IDIR_PHP5_FASTCGI)/etc
install -m0644 ./files/php.ini $(IDIR_PHP5_FASTCGI)/etc/
install -m0755 -d $(IDIR_PHP5_FASTCGI)/etc/init.d
install -m0755 ./files/php.init $(IDIR_PHP5_FASTCGI)/etc/init.d/php
install -m0755 -d $(IDIR_PHP5_FASTCGI)/usr/sbin
cp -fpR $(PKG_BUILD_DIR)/php-fastcgi $(IDIR_PHP5_FASTCGI)/usr/sbin/php
$(RSTRIP) $(IDIR_PHP5_FASTCGI)
$(IPKG_BUILD) $(IDIR_PHP5_FASTCGI) $(PACKAGE_DIR)

561
package/php5/files/php.ini Normal file
View File

@ -0,0 +1,561 @@
[PHP]
cgi.fix_pathinfo=1
zend.ze1_compatibility_mode = Off
;short_open_tag = Off
asp_tags = Off
precision = 12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
;zlib.output_handler =
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
;open_basedir =
disable_functions =
disable_classes =
; Colors for Syntax Highlighting mode. Anything that's acceptable in
; <span style="color: ???????"> would work.
;highlight.string = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg = #FFFFFF
;highlight.default = #0000BB
;highlight.html = #000000
expose_php = On
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; E_ALL - All errors and warnings (doesn't include E_STRICT)
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_STRICT - run-time notices, enable to have PHP suggest changes
; to your code which will ensure the best interoperability
; and forward compatibility of your code
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
;
; Examples:
;
; - Show all errors, except for notices and coding standards warnings
;
;error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
; - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors except for notices and coding standards warnings
;
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
display_errors = On
; Even when display_errors is on, errors that occur during PHP's startup
; sequence are not displayed. It's strongly recommended to keep
; display_startup_errors off, except for when debugging.
display_startup_errors = Off
; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = Off
; Set maximum length of log_errors. In error_log information about the source is
; added. The default is 1024 and 0 allows to not apply any maximum length at all.
log_errors_max_len = 1024
; Do not log repeated messages. Repeated errors must occur in same file on same
; line until ignore_repeated_source is set true.
ignore_repeated_errors = Off
; Ignore source of message when ignoring repeated messages. When this setting
; is On you will not log errors with repeated messages from different files or
; sourcelines.
ignore_repeated_source = Off
; If this parameter is set to Off, then memory leaks will not be shown (on
; stdout or in the log). This has only effect in a debug compile, and if
; error reporting includes E_WARNING in the allowed list
report_memleaks = On
; Store the last error/warning message in $php_errormsg (boolean).
track_errors = Off
; Disable the inclusion of HTML tags in error messages.
; Note: Never use this feature for production boxes.
;html_errors = Off
; If html_errors is set On PHP produces clickable error messages that direct
; to a page describing the error or function causing the error in detail.
; You can download a copy of the PHP manual from http://www.php.net/docs.php
; and change docref_root to the base URL of your local copy including the
; leading '/'. You must also specify the file extension being used including
; the dot.
; Note: Never use this feature for production boxes.
;docref_root = "/phpmanual/"
;docref_ext = .html
; String to output before an error message.
;error_prepend_string = "<font color=ff0000>"
; String to output after an error message.
;error_append_string = "</font>"
; Log errors to specified file.
;error_log = filename
; Log errors to syslog (Event Log on NT, not valid in Windows 95).
;error_log = syslog
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
;
; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
; The separator used in PHP generated URLs to separate arguments.
; Default is "&".
;arg_separator.output = "&amp;"
; List of separator(s) used by PHP to parse input URLs into variables.
; Default is "&".
; NOTE: Every character in this directive is considered as separator!
;arg_separator.input = ";&"
; This directive describes the order in which PHP registers GET, POST, Cookie,
; Environment and Built-in variables (G, P, C, E & S respectively, often
; referred to as EGPCS or GPC). Registration is done from left to right, newer
; values override older values.
variables_order = "EGPCS"
; Whether or not to register the EGPCS variables as global variables. You may
; want to turn this off if you don't want to clutter your scripts' global scope
; with user data. This makes most sense when coupled with track_vars - in which
; case you can access all of the GPC variables through the $HTTP_*_VARS[],
; variables.
;
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off
; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends. If you're not using them, it's recommended to turn them off,
; for performance reasons.
register_long_arrays = On
; This directive tells PHP whether to declare the argv&argc variables (that
; would contain the GET information). If you don't use these variables, you
; should turn it off for increased performance.
register_argc_argv = On
; Maximum size of POST data that PHP will accept.
post_max_size = 8M
; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off
; Automatically add files before or after any PHP document.
auto_prepend_file =
auto_append_file =
; As of 4.0b4, PHP always outputs a character encoding by default in
; the Content-type: header. To disable sending of the charset, simply
; set it to be empty.
;
; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
; Always populate the $HTTP_RAW_POST_DATA variable.
;always_populate_raw_post_data = On
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
; The root of the PHP pages, used only if nonempty.
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
; if you are running php as a CGI under any web server (other than IIS)
; see documentation for security issues. The alternate is to use the
; cgi.force_redirect configuration below
doc_root = /www
; The directory under which PHP opens the script using /~username used only
; if nonempty.
user_dir =
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/lib/php"
; Whether or not to enable the dl() function. The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
enable_dl = On
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers. Left undefined, PHP turns this on by default. You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; cgi.force_redirect = 1
; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
; every request.
; cgi.nph = 1
; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
; will look for to know it is OK to continue execution. Setting this variable MAY
; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
; cgi.redirect_status_env = ;
; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; security tokens of the calling client. This allows IIS to define the
; security context that the request runs under. mod_fastcgi under Apache
; does not currently support this feature (03/17/2002)
; Set to 1 if running under IIS. Default is zero.
; fastcgi.impersonate = 1;
; cgi.rfc2616_headers configuration option tells PHP what type of headers to
; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
; is supported by Apache. When this option is set to 1 PHP will send
; RFC2616 compliant header.
; Default is zero.
;cgi.rfc2616_headers = 0
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = /tmp
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
; Define the anonymous ftp password (your email address)
;from="john@doe.com"
; Define the User-Agent string
; user_agent="PHP"
; Default timeout for socket based streams (seconds)
default_socket_timeout = 60
; If your scripts have to deal with files from Macintosh systems,
; or you are running on a Mac and need to deal with files from
; unix or win32 systems, setting this flag will cause PHP to
; automatically detect the EOL character in those files so that
; fgets() and file() will work regardless of the source of the file.
; auto_detect_line_endings = Off
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.
;Windows Extensions
;Note that ODBC support is built in, so no dll is needed for it.
;
;extension=ftp.so
;extension=gd.so
;extension=mysql.so
;extension=pcre.so
;extension=session.so
;extension=sockets.so
;extension=xml.so
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[SQL]
sql.safe_mode = Off
[Session]
; Handler used to store/retrieve data.
session.save_handler = files
; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; As of PHP 4.0.1, you can define the path as:
;
; session.save_path = "N;/path"
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
session.save_path = "/tmp"
; Whether to use cookies.
session.use_cookies = 1
; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1
; Name of the session (used as cookie name).
session.name = PHPSESSID
; Initialize session on request startup.
session.auto_start = 0
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0
; The path for which the cookie is valid.
session.cookie_path = /
; The domain for which the cookie is valid.
session.cookie_domain =
; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php
; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.
session.gc_probability = 1
session.gc_divisor = 100
; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440
; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.
session.bug_compat_42 = 1
session.bug_compat_warn = 1
; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =
; How many bytes to read from the file.
session.entropy_length = 0
; Specified here to create the session id.
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
session.cache_limiter = nocache
; Document expires after n minutes.
session.cache_expire = 180
; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0
; Select a hash function
; 0: MD5 (128 bits)
; 1: SHA-1 (160 bits)
session.hash_function = 0
; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
;
; 4 bits: 0-9, a-f
; 5 bits: 0-9, a-v
; 6 bits: 0-9, a-z, A-Z, "-", ","
session.hash_bits_per_character = 4
; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
[Assertion]
; Assert(expr); active by default.
;assert.active = On
; Issue a PHP warning for each failed assertion.
;assert.warning = On
; Don't bail out by default.
;assert.bail = Off
; User-function to be called if an assertion fails.
;assert.callback = 0
; Eval the expression with current error_reporting(). Set to true if you want
; error_reporting(0) around the eval().
;assert.quiet_eval = 0
[exif]
; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
; With mbstring support this will automatically be converted into the encoding
; given by corresponding encode setting. When empty mbstring.internal_encoding
; is used. For the decode settings you can distinguish between motorola and
; intel byte order. A decode setting cannot be empty.
;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel = JIS

View File

@ -0,0 +1,19 @@
#!/bin/sh
export PHP_FCGI_CHILDREN=''
PORT=1026
BIN=/usr/sbin/php
case $1 in
start)
$BIN -b $PORT &
;;
stop)
kill `pidof php`
;;
*)
echo "usage: $0 (start|stop)"
exit 1
esac
exit $?

View File

@ -0,0 +1 @@
/etc/php.ini

View File

@ -0,0 +1,9 @@
Package: php5-cgi
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: PHP5 compiled as for CGI
Provides: php5

View File

@ -0,0 +1 @@
/etc/php.ini

View File

@ -0,0 +1,9 @@
Package: php5-cli
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: PHP5 CLI (Command Line Interface)
Provides: php5

View File

@ -0,0 +1,2 @@
/etc/php.ini
/etc/init.d/php

View File

@ -0,0 +1,9 @@
Package: php5-fastcgi
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: PHP5 compiled for FastCGI (for use with libhttpd-fastcgi)
Provides: php5

View File

@ -0,0 +1,9 @@
Package: php5-mod-ftp
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: FTP module for PHP5
Depends: php5

View File

@ -0,0 +1,9 @@
Package: php5-mod-gd
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: GD module for PHP5
Depends: php5, libgd, libpng

View File

@ -0,0 +1,9 @@
Package: php5-mod-ldap
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: LDAP module for PHP5
Depends: php5, libopenldap

View File

@ -0,0 +1,9 @@
Package: php5-mod-mysql
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: MySQL module for PHP5
Depends: php5, libmysqlclient

View File

@ -0,0 +1,9 @@
Package: php5-mod-openssl
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: OpenSSL module for PHP5
Depends: php5, libopenssl

View File

@ -0,0 +1,9 @@
Package: php5-mod-pcre
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: PCRE module for PHP5
Depends: php5, libpcre

View File

@ -0,0 +1,9 @@
Package: php5-mod-pgsql
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: PostgreSQL module for PHP5
Depends: php5, libpq

View File

@ -0,0 +1,9 @@
Package: php5-mod-session
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: Sessions module for PHP5
Depends: php5

View File

@ -0,0 +1,9 @@
Package: php5-mod-sockets
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: Sockets module for PHP5
Depends: php5

View File

@ -0,0 +1,9 @@
Package: php5-mod-sqlite
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: SQLite module for PHP5
Depends: php5, libsqlite2

View File

@ -0,0 +1,9 @@
Package: php5-mod-xml
Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Anael Orlinski <anael.orlinski@gmail.com>, Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/php5/
Description: XML module for PHP5
Depends: php5, libexpat

View File

@ -0,0 +1,83 @@
--- php-5.0.4/configure 2005-06-16 19:23:10.000000000 +0200
+++ php-5.0.4-patched/configure 2005-07-01 23:52:04.000000000 +0200
@@ -13851,7 +13851,7 @@
ac_libs=$LIBS
LIBS="$LIBS -ldl"
if test "$cross_compiling" = yes; then
- found=no
+ found=yes
else
cat > conftest.$ac_ext <<EOF
#line 13858 "configure"
@@ -15724,7 +15724,7 @@
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
else
cat > conftest.$ac_ext <<EOF
#line 15731 "configure"
@@ -16981,7 +16981,7 @@
if { (eval echo configure:16982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
else
cat > conftest.$ac_ext <<EOF
#line 16988 "configure"
@@ -17478,7 +17478,7 @@
rm -fr conftest*
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
else
cat > conftest.$ac_ext <<EOF
#line 17485 "configure"
@@ -41405,7 +41405,7 @@
echo $ac_n "checking if iconv supports errno""... $ac_c" 1>&6
echo "configure:41407: checking if iconv supports errno" >&5
if test "$cross_compiling" = yes; then
- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; }
else
cat > conftest.$ac_ext <<EOF
#line 41412 "configure"
@@ -95618,7 +95618,7 @@
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+sys_lib_search_path_spec=""
case $host_os in
aix3*)
@@ -95828,7 +95828,7 @@
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_search_path_spec=""
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
;;
@@ -95878,7 +95878,7 @@
;;
esac
sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_search_path_spec=""
;;
netbsd*)
@@ -96977,7 +96977,7 @@
link_all_deplibs=$link_all_deplibs
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec

View File

@ -0,0 +1,21 @@
diff -ruN php-5.0.4-old/configure php-5.0.4-new/configure
--- php-5.0.4-old/configure 2005-04-03 11:42:50.000000000 +0200
+++ php-5.0.4-new/configure 2005-07-12 20:04:55.000000000 +0200
@@ -87265,7 +87265,7 @@
if test "$PHP_XML" != "no" && test "$PHP_LIBXML" != "no" -o "$PHP_LIBEXPAT_DIR" != "no"; then
-
+if test "no" = "yes" ; then
for i in $PHP_LIBXML_DIR /usr/local /usr; do
if test -x "$i/bin/xml2-config"; then
XML2_CONFIG="$i/bin/xml2-config"
@@ -87470,7 +87470,7 @@
fi
fi
-
+fi ## (line 87266)
if test "$PHP_LIBEXPAT_DIR" != "no"; then
for i in $PHP_XML $PHP_LIBEXPAT_DIR; do