port php5 to -ng
authorNicolas Thill <nico@openwrt.org>
Sun, 22 Oct 2006 21:32:16 +0000 (21:32 +0000)
committerNicolas Thill <nico@openwrt.org>
Sun, 22 Oct 2006 21:32:16 +0000 (21:32 +0000)
SVN-Revision: 5265

lang/php5/Makefile [new file with mode: 0644]
lang/php5/files/php.ini [new file with mode: 0644]
lang/php5/files/php.init [new file with mode: 0644]
lang/php5/patches/php-5.0.4-configure-cross.patch [new file with mode: 0644]

diff --git a/lang/php5/Makefile b/lang/php5/Makefile
new file mode 100644 (file)
index 0000000..fd82f47
--- /dev/null
@@ -0,0 +1,376 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=php
+PKG_VERSION:=5.0.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://fr.php.net/distributions/
+PKG_MD5SUM:=b5d4ca75bbb11ee5b830fa67213d9f7f
+PKG_CAT:=bzcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/php5/Default
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=PHP5 Hypertext preprocessor
+  DESCRIPTION:=\
+       PHP is a widely-used general-purpose scripting language that is especially \\\
+       suited for Web development and can be embedded into HTML.
+  URL:=http://www.php.net/
+endef
+
+define Package/php5
+  $(call Package/php5/Default)
+  DEPENDS:=+libopenssl +zlib
+  DESCRIPTION+=\\\
+       \\\
+       This package contains only the PHP config file. You must actually choose your \\\
+       PHP flavour (cli, cgi or fastcgi).
+  MENU:=1
+endef
+
+define Package/php5/conffiles
+/etc/php.ini
+endef
+
+define Package/php5-cli
+  $(call Package/php5/Default)
+  DEPENDS:=php5
+  TITLE+= (CLI)
+  DESCRIPTION+=\\\
+       \\\
+       This package contains the CLI version of the PHP5 interpreter.
+endef
+
+define Package/php5-cgi
+  $(call Package/php5/Default)
+  DEPENDS:=php5
+  TITLE+= (CGI)
+  DESCRIPTION+=\\\
+       \\\
+       This package contains the CGI version of the PHP5 interpreter.
+endef
+
+define Package/php5-fastcgi
+  $(call Package/php5/Default)
+  DEPENDS:=php5
+  TITLE+= (FastCGI)
+  DESCRIPTION+=\\\
+       \\\
+       This package contains the FastCGI version of the PHP5 interpreter.
+endef
+
+define Package/php5-mod-curl
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libcurl
+  TITLE:=cURL module
+endef
+
+define Package/php5-mod-ftp
+  $(call Package/php5/Default)
+  DEPENDS:=php5
+  TITLE:=FTP module
+endef
+
+define Package/php5-mod-gd
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libgd
+  TITLE:=GD graphics module
+endef
+
+define Package/php5-mod-gmp
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libgmp
+  TITLE:=GMP module
+endef
+
+define Package/php5-mod-ldap
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libopenldap
+  TITLE:=LDAP module
+endef
+
+define Package/php5-mod-mysql
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libmysqlclient
+  TITLE:=MySQL module
+endef
+
+define Package/php5-mod-openssl
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libopenssl
+  TITLE:=OpenSSL module
+endef
+
+define Package/php5-mod-pcre
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libpcre
+  TITLE:=PCRE module
+endef
+
+define Package/php5-mod-pgsql
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libpq
+  TITLE:=PostgreSQL module
+endef
+
+define Package/php5-mod-session
+  $(call Package/php5/Default)
+  DEPENDS:=php5
+  TITLE:=Session module
+endef
+
+define Package/php5-mod-sockets
+  $(call Package/php5/Default)
+  DEPENDS:=php5
+  TITLE:=Sockets module
+endef
+
+define Package/php5-mod-sqlite
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libsqlite2
+  TITLE:=SQLite module
+endef
+
+define Package/php5-mod-xml
+  $(call Package/php5/Default)
+  DEPENDS:=php5 +libexpat
+  TITLE:=XML module
+endef
+
+PKG_CONFIGURE_LIBS:= -lcrypto -lssl
+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 ($(SDK),)
+  PKG_BUILDDEP:=libopenssl zlib libcurl libgd libgmp libopenldap libmysqlclient libpq libsqlite2 libexpat
+# force PKG_CONFIGURE_{LIBS,OPTS} below when built in the SDK
+  CONFIG_PACKAGE_php5-cli:=m
+  CONFIG_PACKAGE_php5-cgi:=m
+  CONFIG_PACKAGE_php5-fastcgi:=m
+  CONFIG_PACKAGE_php5-mod-curl:=m
+  CONFIG_PACKAGE_php5-mod-gd:=m
+  CONFIG_PACKAGE_php5-mod-gmp:=m
+  CONFIG_PACKAGE_php5-mod-ldap:=m
+  CONFIG_PACKAGE_php5-mod-mysql:=m
+  CONFIG_PACKAGE_php5-mod-pcre:=m
+  CONFIG_PACKAGE_php5-mod-pgsql:=m
+  CONFIG_PACKAGE_php5-mod-sqlite:=m
+  CONFIG_PACKAGE_php5-mod-xml:=m
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-curl),)
+  PKG_CONFIGURE_OPTS+= --with-curl=shared,"$(STAGING_DIR)/usr"
+else
+  PKG_CONFIGURE_OPTS+= --without-curl
+endif
+ifneq ($(CONFIG_PACKAGE_php5-mod-gd),)
+  PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_DIR)/usr" \
+       --without-freetype-dir \
+       --with-jpeg-dir="$(STAGING_DIR)/usr" \
+       --with-png-dir="$(STAGING_DIR)/usr" \
+       --without-xpm-dir \
+       --without-ttf \
+       --without-t1lib \
+       --enable-gd-native-ttf \
+       --disable-gd-jis-conv
+else
+  PKG_CONFIGURE_OPTS+= --without-gd
+endif
+ifneq ($(CONFIG_PACKAGE_php5-mod-gmp),)
+  PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
+else
+  PKG_CONFIGURE_OPTS+= --without-gmp
+endif
+ifneq ($(CONFIG_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 ($(CONFIG_PACKAGE_php5-mod-mysql),)
+  PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
+else
+  PKG_CONFIGURE_OPTS+= --without-mysql
+endif
+ifneq ($(CONFIG_PACKAGE_php5-mod-pcre),)
+  PKG_CONFIGURE_OPTS+= --with-pcre-regex=shared,"$(STAGING_DIR)/usr"
+else
+  PKG_CONFIGURE_OPTS+= --without-pcre-regex
+endif
+ifneq ($(CONFIG_PACKAGE_php5-mod-pgsql),)
+  PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
+else
+  PKG_CONFIGURE_OPTS+= --without-pgsql
+endif
+ifneq ($(CONFIG_PACKAGE_php5-mod-sqlite),)
+  PKG_CONFIGURE_OPTS+= --with-sqlite=shared,"$(STAGING_DIR)/usr"
+else
+  PKG_CONFIGURE_OPTS+= --without-sqlite
+endif
+ifneq ($(CONFIG_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
+
+define Build/Configure
+endef
+
+ifneq ($(CONFIG_PACKAGE_php5-cli),)
+  define Build/Compile/php5-cli
+       -$(MAKE) -C $(PKG_BUILD_DIR) clean
+       $(call Build/Configure/Default, \
+               $(PKG_CONFIGURE_OPTS) \
+               --enable-cli \
+               --disable-cgi \
+               --disable-fastcgi \
+               --enable-force-cgi-redirect \
+               --enable-discard-path \
+               , \
+               LIBS="$(PKG_CONFIGURE_LIBS)" \
+               php_cv_cc_rpath="no" \
+       )
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       mv $(PKG_BUILD_DIR)/sapi/cli/php $(PKG_BUILD_DIR)/php-cli
+  endef
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-cgi),)
+  define Build/Compile/php5-cgi
+       -$(MAKE) -C $(PKG_BUILD_DIR) clean
+       $(call Build/Configure/Default, \
+               $(PKG_CONFIGURE_OPTS) \
+               --disable-cli \
+               --enable-cgi \
+               --disable-fastcgi \
+               --enable-force-cgi-redirect \
+               --enable-discard-path \
+               , \
+               LIBS="$(PKG_CONFIGURE_LIBS)" \
+               php_cv_cc_rpath="no" \
+       )
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-cgi
+  endef
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-fastcgi),)
+  define Build/Compile/php5-fastcgi
+       -$(MAKE) -C $(PKG_BUILD_DIR) clean
+       $(call Build/Configure/Default, \
+               $(PKG_CONFIGURE_OPTS) \
+               --disable-cli \
+               --enable-cgi \
+               --enable-fastcgi \
+               --enable-force-cgi-redirect \
+               --enable-discard-path \
+               , \
+               LIBS="$(PKG_CONFIGURE_LIBS)" \
+               php_cv_cc_rpath="no" \
+       )
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-fastcgi
+  endef
+endif
+
+define Build/Compile
+       $(call Build/Compile/php5-cli)
+       $(call Build/Compile/php5-cgi)
+       $(call Build/Compile/php5-fastcgi)
+endef
+
+define Package/php5/install
+       install -m0755 -d $(1)/etc
+       install -m0644 ./files/php.ini $(1)/etc/
+endef
+
+define Package/php5-cli/install
+       install -m0755 -d $(1)/usr/bin
+       $(CP) $(PKG_BUILD_DIR)/php-cli $(1)/usr/bin/php
+endef
+
+define Package/php5-cgi/install
+       install -m0755 -d $(1)/usr/bin
+       $(CP) $(PKG_BUILD_DIR)/php-cgi $(1)/usr/bin/php
+endef
+
+define Package/php5-fastcgi/install
+       install -m0755 -d $(1)/usr/sbin
+       $(CP) $(PKG_BUILD_DIR)/php-fastcgi $(1)/usr/sbin/php
+       install -m0755 -d $(1)/etc/init.d
+       install -m0755 ./files/php.init $(1)/etc/init.d/php
+endef
+
+define BuildPlugin
+  define Package/$(1)/install
+       [ -z "$(2)" ] || install -d -m0755 $$(1)/usr/lib/php
+       for m in $(2); do \
+               install -m0755 $(PKG_BUILD_DIR)/modules/$$$$$$$${m}.so $$(1)/usr/lib/php/ ; \
+       done
+  endef
+
+  $$(eval $$(call BuildPackage,$(1)))
+endef
+
+$(eval $(call BuildPackage,php5))
+$(eval $(call BuildPackage,php5-cli))
+$(eval $(call BuildPackage,php5-cgi))
+$(eval $(call BuildPackage,php5-fastcgi))
+$(eval $(call BuildPlugin,php5-mod-curl,curl))
+$(eval $(call BuildPlugin,php5-mod-ftp,ftp))
+$(eval $(call BuildPlugin,php5-mod-gd,gd))
+$(eval $(call BuildPlugin,php5-mod-gmp,gmp))
+$(eval $(call BuildPlugin,php5-mod-ldap,ldap))
+$(eval $(call BuildPlugin,php5-mod-mysql,mysql))
+$(eval $(call BuildPlugin,php5-mod-openssl,openssl))
+$(eval $(call BuildPlugin,php5-mod-pcre,pcre))
+$(eval $(call BuildPlugin,php5-mod-pgsql,pgsql))
+$(eval $(call BuildPlugin,php5-mod-session,session))
+$(eval $(call BuildPlugin,php5-mod-sockets,sockets))
+$(eval $(call BuildPlugin,php5-mod-sqlite,sqlite))
+$(eval $(call BuildPlugin,php5-mod-xml,xml))
diff --git a/lang/php5/files/php.ini b/lang/php5/files/php.ini
new file mode 100644 (file)
index 0000000..ae16d0b
--- /dev/null
@@ -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
+
diff --git a/lang/php5/files/php.init b/lang/php5/files/php.init
new file mode 100644 (file)
index 0000000..b29387b
--- /dev/null
@@ -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 $?
diff --git a/lang/php5/patches/php-5.0.4-configure-cross.patch b/lang/php5/patches/php-5.0.4-configure-cross.patch
new file mode 100644 (file)
index 0000000..d4c423b
--- /dev/null
@@ -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