Changes of Revision 2
[-] [+] | Added | php.changes |
[-] [+] | Added | php.spec ^ |
[-] [+] | Added | php-5.2.0-includedir.patch ^ |
@@ -0,0 +1,11 @@ +--- php-5.2.0/configure.in.includedir ++++ php-5.2.0/configure.in +@@ -1101,7 +1101,7 @@ + EXPANDED_DATADIR=$datadir + EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"` + EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"` +-INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR ++INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR:${EXPANDED_DATADIR}/php + + exec_prefix=$old_exec_prefix + libdir=$old_libdir | ||
[-] [+] | Added | php-5.2.4-embed.patch ^ |
@@ -0,0 +1,12 @@ +--- php-5.2.4/sapi/embed/config.m4.embed ++++ php-5.2.4/sapi/embed/config.m4 +@@ -12,7 +12,8 @@ if test "$PHP_EMBED" != "no"; then + case "$PHP_EMBED" in + yes|shared) + PHP_EMBED_TYPE=shared +- INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(prefix)/lib" ++ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -release \$(PHP_MAJOR_VERSION).\$(PHP_MINOR_VERSION)" ++ INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 \$(OVERALL_TARGET) \$(INSTALL_ROOT)\$(libdir)" + ;; + static) + PHP_EMBED_TYPE=static | ||
[-] [+] | Added | php-5.3.0-recode.patch ^ |
@@ -0,0 +1,17 @@ +diff -up php-5.3.0beta1/ext/recode/config9.m4.recode php-5.3.0beta1/ext/recode/config9.m4 +--- php-5.3.0beta1/ext/recode/config9.m4.recode 2008-12-02 00:30:21.000000000 +0100 ++++ php-5.3.0beta1/ext/recode/config9.m4 2009-02-28 09:46:50.000000000 +0100 +@@ -4,13 +4,6 @@ dnl + + dnl Check for extensions with which Recode can not work + if test "$PHP_RECODE" != "no"; then +- test "$PHP_IMAP" != "no" && recode_conflict="$recode_conflict imap" +- +- if test -n "$MYSQL_LIBNAME"; then +- PHP_CHECK_LIBRARY($MYSQL_LIBNAME, hash_insert, [ +- recode_conflict="$recode_conflict mysql" +- ]) +- fi + + if test -n "$recode_conflict"; then + AC_MSG_ERROR([recode extension can not be configured together with:$recode_conflict]) | ||
[-] [+] | Added | php-5.3.1-systzdata-v10.patch ^ |
@@ -0,0 +1,635 @@ +Add support for use of the system timezone database, rather +than embedding a copy. Discussed upstream but was not desired. + +History: +r10 : make timezone case insensitive +r9: fix another compile error without --with-system-tzdata configured (Michael Heimpold) +r8: fix compile error without --with-system-tzdata configured +r7: improve check for valid timezone id to exclude directories +r6: fix fd leak in r5, fix country code/BC flag use in + timezone_identifiers_list() using system db, + fix use of PECL timezonedb to override system db, +r5: reverts addition of "System/Localtime" fake tzname. + updated for 5.3.0, parses zone.tab to pick up mapping between + timezone name, country code and long/lat coords +r4: added "System/Localtime" tzname which uses /etc/localtime +r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert) +r2: add filesystem trawl to set up name alias index +r1: initial revision + +--- a/ext/date/lib/parse_tz.c ++++ b/ext/date/lib/parse_tz.c +@@ -20,6 +20,16 @@ + + #include "timelib.h" + ++#ifdef HAVE_SYSTEM_TZDATA ++#include <sys/mman.h> ++#include <sys/stat.h> ++#include <limits.h> ++#include <fcntl.h> ++#include <unistd.h> ++ ++#include "php_scandir.h" ++#endif ++ + #include <stdio.h> + + #ifdef HAVE_LOCALE_H +@@ -31,7 +41,12 @@ + #else + #include <strings.h> + #endif ++ ++#ifndef HAVE_SYSTEM_TZDATA + #include "timezonedb.h" ++#endif ++ ++#include <ctype.h> + + #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) + # if defined(__LITTLE_ENDIAN__) +@@ -51,9 +66,14 @@ + + static void read_preamble(const unsigned char **tzf, timelib_tzinfo *tz) + { +- /* skip ID */ +- *tzf += 4; +- ++ if (memcmp(tzf, "TZif", 4) == 0) { ++ *tzf += 20; ++ return; ++ } ++ ++ /* skip ID */ ++ *tzf += 4; ++ + /* read BC flag */ + tz->bc = (**tzf == '\1'); + *tzf += 1; +@@ -256,7 +276,405 @@ + } + } + +-static int seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb) ++#ifdef HAVE_SYSTEM_TZDATA ++ ++#ifdef HAVE_SYSTEM_TZDATA_PREFIX ++#define ZONEINFO_PREFIX HAVE_SYSTEM_TZDATA_PREFIX ++#else ++#define ZONEINFO_PREFIX "/usr/share/zoneinfo" ++#endif ++ ++/* System timezone database pointer. */ ++static const timelib_tzdb *timezonedb_system; ++ ++/* Hash table entry for the cache of the zone.tab mapping table. */ ++struct location_info { ++ char code[2]; ++ double latitude, longitude; ++ char name[64]; ++ char *comment; ++ struct location_info *next; ++}; ++ ++/* Cache of zone.tab. */ ++static struct location_info **system_location_table; ++ ++/* Size of the zone.tab hash table; a random-ish prime big enough to ++ * prevent too many collisions. */ ++#define LOCINFO_HASH_SIZE (1021) ++ ++/* Compute a case insensitive hash of str */ ++static uint32_t tz_hash(const char *str) ++{ ++ const unsigned char *p = (const unsigned char *)str; ++ uint32_t hash = 5381; ++ int c; ++ ++ while ((c = tolower(*p++)) != '\0') { ++ hash = (hash << 5) ^ hash ^ c; ++ } ++ ++ return hash % LOCINFO_HASH_SIZE; ++} ++ ++/* Parse an ISO-6709 date as used in zone.tab. Returns end of the ++ * parsed string on success, or NULL on parse error. On success, ++ * writes the parsed number to *result. */ ++static char *parse_iso6709(char *p, double *result) ++{ ++ double v, sign; ++ char *pend; ++ size_t len; ++ ++ if (*p == '+') ++ sign = 1.0; ++ else if (*p == '-') ++ sign = -1.0; ++ else ++ return NULL; ++ ++ p++; ++ for (pend = p; *pend >= '0' && *pend <= '9'; pend++) ++ ;; ++ ++ /* Annoying encoding used by zone.tab has no decimal point, so use ++ * the length to determine the format: ++ * ++ * 4 = DDMM ++ * 5 = DDDMM ++ * 6 = DDMMSS ++ * 7 = DDDMMSS ++ */ ++ len = pend - p; ++ if (len < 4 || len > 7) { ++ return NULL; ++ } ++ ++ /* p => [D]DD */ ++ v = (p[0] - '0') * 10.0 + (p[1] - '0'); ++ p += 2; ++ if (len == 5 || len == 7) ++ v = v * 10.0 + (*p++ - '0'); ++ /* p => MM[SS] */ ++ v += (10.0 * (p[0] - '0') ++ + p[1] - '0') / 60.0; ++ p += 2; ++ /* p => [SS] */ ++ if (len > 5) { ++ v += (10.0 * (p[0] - '0') ++ + p[1] - '0') / 3600.0; ++ p += 2; ++ } ++ ++ /* Round to five decimal place, not because it's a good idea, ++ * but, because the builtin data uses rounded data, so, match ++ * that. */ ++ *result = round(v * sign * 100000.0) / 100000.0; ++ ++ return p; ++} ++ ++/* This function parses the zone.tab file to build up the mapping of ++ * timezone to country code and geographic location, and returns a ++ * hash table. The hash table is indexed by the function: ++ * ++ * tz_hash(timezone-name) ++ */ ++static struct location_info **create_location_table(void) ++{ ++ struct location_info **li, *i; ++ char zone_tab[PATH_MAX]; ++ char line[512]; ++ FILE *fp; ++ ++ strncpy(zone_tab, ZONEINFO_PREFIX "/zone.tab", sizeof zone_tab); ++ ++ fp = fopen(zone_tab, "r"); ++ if (!fp) { ++ return NULL; ++ } ++ ++ li = calloc(LOCINFO_HASH_SIZE, sizeof *li); ++ ++ while (fgets(line, sizeof line, fp)) { ++ char *p = line, *code, *name, *comment; ++ uint32_t hash; ++ double latitude, longitude; ++ | ||
[-] [+] | Added | php-5.3.7-oci8conf.patch ^ |
@@ -0,0 +1,39 @@ +diff -up php5.3-201104170830/ext/ldap/php_ldap.h.remi-oci8 php5.3-201104170830/ext/ldap/php_ldap.h +--- php5.3-201104170830/ext/ldap/php_ldap.h.remi-oci8 2011-01-01 04:37:23.000000000 +0100 ++++ php5.3-201104170830/ext/ldap/php_ldap.h 2011-04-17 11:55:25.630871609 +0200 +@@ -27,7 +27,7 @@ + #include <lber.h> + #endif + +-#include <ldap.h> ++#include "/usr/include/ldap.h" + + extern zend_module_entry ldap_module_entry; + #define ldap_module_ptr &ldap_module_entry +diff -up php5.3-201104170830/ext/oci8/config.m4.remi-oci8 php5.3-201104170830/ext/oci8/config.m4 +--- php5.3-201104170830/ext/oci8/config.m4.remi-oci8 2011-03-30 00:35:22.000000000 +0200 ++++ php5.3-201104170830/ext/oci8/config.m4 2011-04-17 11:55:25.628871315 +0200 +@@ -291,6 +291,7 @@ if test "$PHP_OCI8" != "no"; then + + dnl Header directory for Instant Client SDK RPM install + OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client\('${PHP_OCI8_IC_LIBDIR_SUFFIX}'\)*/lib[/]*$!/usr/include/oracle/\1/client\2!'` ++ OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/\(lib64\|lib\)/oracle/\(.*\)/\(client64\|client\)/lib[/]*$!/usr/include/oracle/\2/\3!'` + + dnl Header directory for Instant Client SDK zip file install + OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include +diff -up php5.3-201104170830/ext/pdo_oci/config.m4.remi-oci8 php5.3-201104170830/ext/pdo_oci/config.m4 +--- php5.3-201104170830/ext/pdo_oci/config.m4.remi-oci8 2011-04-02 04:35:24.000000000 +0200 ++++ php5.3-201104170830/ext/pdo_oci/config.m4 2011-04-17 12:02:42.837194120 +0200 +@@ -104,8 +104,10 @@ You need to tell me where to find your O + else + AC_MSG_ERROR([I'm too dumb to figure out where the include dir is in your Instant Client install]) + fi +- if test -f "$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/$PDO_OCI_CLIENT_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME" ; then +- PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/$PDO_OCI_CLIENT_DIR/lib" ++ if test -f "$PDO_OCI_IC_PREFIX/lib64/oracle/$PDO_OCI_IC_VERS/$PDO_OCI_CLIENT_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME" ; then ++ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib64/oracle/$PDO_OCI_IC_VERS/$PDO_OCI_CLIENT_DIR/lib" ++ elif test -f "$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/$PDO_OCI_CLIENT_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME" ; then ++ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/$PDO_OCI_CLIENT_DIR/lib" + elif test -f "$PDO_OCI_IC_PREFIX/$PDO_OCI_CLIENT_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME" ; then + PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/$PDO_OCI_CLIENT_DIR/lib" + elif test -f "$PDO_OCI_IC_PREFIX/libclntsh.$SHLIB_SUFFIX_NAME" ; then | ||
[-] [+] | Added | php-5.4.0-dlopen.patch ^ |
@@ -0,0 +1,17 @@ +--- php-5.4.0RC5/Zend/zend.h.dlopen 2012-01-18 17:10:33.972013835 +0100 ++++ php-5.4.0RC5/Zend/zend.h 2012-01-18 17:12:39.175019492 +0100 +@@ -90,11 +90,11 @@ + # endif + + # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT) +-# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) ++# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) + # elif defined(RTLD_DEEPBIND) +-# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND) ++# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND) + # else +-# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL) ++# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL) + # endif + # define DL_UNLOAD dlclose + # if defined(DLSYM_NEEDS_UNDERSCORE) | ||
[-] [+] | Added | php-5.4.0-easter.patch ^ |
@@ -0,0 +1,689 @@ +diff -up php-5.4.0RC5/ext/standard/basic_functions.c.easter php-5.4.0RC5/ext/standard/basic_functions.c +--- php-5.4.0RC5/ext/standard/basic_functions.c.easter 2012-01-18 17:17:54.016033939 +0100 ++++ php-5.4.0RC5/ext/standard/basic_functions.c 2012-01-18 17:18:54.022036314 +0100 +@@ -1554,9 +1554,6 @@ ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO(arginfo_php_real_logo_guid, 0) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_INFO(arginfo_php_egg_logo_guid, 0) +-ZEND_END_ARG_INFO() +- + ZEND_BEGIN_ARG_INFO(arginfo_zend_logo_guid, 0) + ZEND_END_ARG_INFO() + +@@ -2719,7 +2716,6 @@ const zend_function_entry basic_function + PHP_FE(phpcredits, arginfo_phpcredits) + PHP_FE(php_logo_guid, arginfo_php_logo_guid) + PHP_FE(php_real_logo_guid, arginfo_php_real_logo_guid) +- PHP_FE(php_egg_logo_guid, arginfo_php_egg_logo_guid) + PHP_FE(zend_logo_guid, arginfo_zend_logo_guid) + PHP_FE(php_sapi_name, arginfo_php_sapi_name) + PHP_FE(php_uname, arginfo_php_uname) +diff -up php-5.4.0RC5/ext/standard/info.c.easter php-5.4.0RC5/ext/standard/info.c +--- php-5.4.0RC5/ext/standard/info.c.easter 2012-01-18 17:17:44.712033203 +0100 ++++ php-5.4.0RC5/ext/standard/info.c 2012-01-18 17:19:58.097039189 +0100 +@@ -1195,21 +1195,7 @@ PHP_FUNCTION(phpcredits) + */ + PHPAPI char *php_logo_guid(void) + { +- char *logo_guid; +- +- time_t the_time; +- struct tm *ta, tmbuf; +- +- the_time = time(NULL); +- ta = php_localtime_r(&the_time, &tmbuf); +- +- if (ta && (ta->tm_mon==3) && (ta->tm_mday==1)) { +- logo_guid = PHP_EGG_LOGO_GUID; +- } else { +- logo_guid = PHP_LOGO_GUID; +- } +- +- return estrdup(logo_guid); ++ return estrdup(PHP_LOGO_GUID); + + } + /* }}} */ +@@ -1238,18 +1224,6 @@ PHP_FUNCTION(php_real_logo_guid) + } + /* }}} */ + +-/* {{{ proto string php_egg_logo_guid(void) +- Return the special ID used to request the PHP logo in phpinfo screens*/ +-PHP_FUNCTION(php_egg_logo_guid) +-{ +- if (zend_parse_parameters_none() == FAILURE) { +- return; +- } +- +- RETURN_STRINGL(PHP_EGG_LOGO_GUID, sizeof(PHP_EGG_LOGO_GUID)-1, 1); +-} +-/* }}} */ +- + /* {{{ proto string zend_logo_guid(void) + Return the special ID used to request the Zend logo in phpinfo screens*/ + PHP_FUNCTION(zend_logo_guid) +diff -up php-5.4.0RC5/ext/standard/info.h.easter php-5.4.0RC5/ext/standard/info.h +--- php-5.4.0RC5/ext/standard/info.h.easter 2012-01-18 17:17:37.245032832 +0100 ++++ php-5.4.0RC5/ext/standard/info.h 2012-01-18 17:20:17.160040044 +0100 +@@ -51,7 +51,6 @@ + #endif /* HAVE_CREDITS_DEFS */ + + #define PHP_LOGO_GUID "PHPE9568F34-D428-11d2-A769-00AA001ACF42" +-#define PHP_EGG_LOGO_GUID "PHPE9568F36-D428-11d2-A769-00AA001ACF42" + #define ZEND_LOGO_GUID "PHPE9568F35-D428-11d2-A769-00AA001ACF42" + #define PHP_CREDITS_GUID "PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000" + +@@ -62,7 +61,6 @@ PHP_FUNCTION(phpcredits); + PHP_FUNCTION(php_logo_guid); + PHP_FUNCTION(php_real_logo_guid); + PHP_FUNCTION(zend_logo_guid); +-PHP_FUNCTION(php_egg_logo_guid); + PHP_FUNCTION(php_sapi_name); + PHP_FUNCTION(php_uname); + PHP_FUNCTION(php_ini_scanned_files); +diff -up php-5.4.0RC5/main/logos.h.easter php-5.4.0RC5/main/logos.h +--- php-5.4.0RC5/main/logos.h.easter 2012-01-18 17:17:27.975032470 +0100 ++++ php-5.4.0RC5/main/logos.h 2012-01-18 17:21:27.036043180 +0100 +@@ -492,589 +492,3 @@ static const unsigned char php_logo[] = + 21, 116, 187, 251, 221, 240, 142, 119, 188, 3, + 1, 0, 59, 0 }; + +-static const unsigned char php_egg_logo[] = { +- 71, 73, 70, 56, 57, 97, 120, 0, 67, 0, +- 231, 255, 0, 18, 25, 33, 32, 30, 34, 28, +- 33, 44, 15, 35, 71, 6, 37, 85, 37, 40, +- 47, 34, 41, 53, 41, 40, 43, 9, 47, 109, +- 30, 45, 68, 21, 48, 84, 51, 46, 55, 43, +- 49, 59, 31, 59, 98, 15, 61, 128, 58, 55, +- 69, 50, 57, 74, 0, 66, 144, 56, 58, 60, +- 54, 59, 71, 32, 66, 113, 60, 65, 67, 63, +- 65, 84, 63, 68, 79, 28, 79, 145, 15, 82, +- 162, 75, 72, 98, 68, 78, 86, 74, 77, 88, +- 50, 82, 122, 41, 85, 134, 76, 78, 108, 70, +- 83, 101, 5, 94, 190, 0, 95, 197, 86, 80, +- 101, 28, 92, 159, 80, 84, 96, 83, 83, 115, +- 81, 87, 89, 22, 97, 183, 86, 88, 85, 0, +- 102, 210, 8, 101, 204, 24, 100, 177, 85, 90, +- 127, 35, 101, 169, 42, 100, 159, 88, 92, 103, +- 0, 107, 216, 69, 95, 132, 0, 108, 210, 84, +- 93, 112, 94, 90, 117, 18, 105, 201, 96, 92, +- 105, 89, 96, 98, 94, 93, 135, 94, 94, 126, +- 30, 106, 210, 7, 112, 222, 33, 108, 198, 16, +- 114, 217, 27, 113, 198, 24, 113, 209, 59, 108, +- 159, 96, 100, 138, 0, 120, 229, 44, 112, 180, +- 49, 112, 171, 71, 108, 148, 99, 104, 115, 90, +- 106, 125, 27, 115, 232, 100, 102, 147, 42, 115, +- 192, 86, 110, 137, 9, 123, 239, 106, 108, 105, +- 105, 105, 138, 33, 118, 228, 12, 125, 227, 48, +- 117, 208, 16, 126, 222, 37, 120, 224, 20, 125, +- 235, 35, 123, 213, 50, 121, 190, 43, 123, 206, +- 40, 123, 220, 105, 110, 160, 59, 122, 182, 78, +- 119, 158, 44, 122, 233, 3, 134, 250, 112, 112, +- 151, 73, 123, 175, 113, 118, 114, 51, 128, 205, +- 34, 129, 246, 11, 136, 245, 34, 130, 240, 113, +- 117, 149, 111, 116, 166, 111, 119, 141, 48, 130, +- 221, 38, 132, 235, 53, 130, 215, 97, 124, 146, +- 116, 122, 124, 117, 121, 131, 54, 130, 229, 41, +- 135, 232, 68, 130, 223, 46, 135, 246, 65, 134, +- 202, 42, 137, 241, 75, 131, 205, 124, 121, 161, +- 101, 125, 191, 86, 128, 210, 121, 122, 169, 105, +- 128, 157, 121, 122, 180, 114, 124, 181, 94, 128, +- 201, 81, 134, 185, 46, 138, 252, 76, 135, 195, +- 34, 142, 252, 62, 137, 229, 63, 138, 217, 33, +- 144, 247, 58, 139, 223, 56, 141, 246, 54, 143, +- 234, 57, 143, 241, 102, 135, 193, 129, 130, 176, +- 122, 136, 144, 46, 148, 252, 45, 149, 246, 118, +- 133, 191, 65, 146, 231, 73, 146, 216, 129, 133, +- 185, 135, 135, 156, 69, 148, 226, 44, 153, 255, +- 94, 143, 216, 132, 136, 175, 88, 146, 207, 137, +- 139, 136, 93, 146, 197, 95, 147, 188, 137, 139, +- 150, 104, 146, 178, 122, 143, 172, 135, 139, 191, +- 57, 156, 254, 67, 154, 245, 70, 154, 239, 134, +- 141, 180, 117, 145, 201, 120, 146, 190, 79, 154, +- 233, 140, 141, 188, 129, 144, 194, 142, 142, 176, +- 137, 147, 156, 88, 155, 222, 82, 157, 230, 93, +- 157, 218, 66, 162, 253, 100, 157, 210, 77, 161, +- 247, 55, 168, 255, 81, 162, 241, 148, 148, 195, +- 145, 149, 202, 127, 156, 204, 77, 166, 255, 142, +- 155, 177, 141, 153, 200, 123, 160, 193, 73, 171, +- 255, 93, 167, 240, 96, 167, 234, 152, 158, 160, +- 101, 167, 228, 119, 164, 206, 155, 158, 171, 110, +- 167, 219, 156, 155, 203, 89, 172, 252, 128, 164, +- 219, 151, 163, 174, 81, 178, 255, 158, 162, 202, +- 102, 175, 249, 93, 178, 251, 108, 175, 237, 103, +- 177, 244, 166, 168, 165, 97, 182, 255, 87, 185, +- 255, 149, 174, 216, 125, 181, 235, 110, 185, 252, +- 117, 183, 254, 171, 172, 209, 166, 175, 197, 103, +- 190, 255, 174, 176, 189, 140, 183, 221, 128, 184, +- 248, 120, 187, 249, 179, 180, 184, 115, 193, 253, +- 170, 183, 193, 174, 181, 215, 107, 197, 255, 135, +- 191, 246, 151, 192, 219, 187, 183, 213, 128, 197, +- 253, 121, 202, 255, 147, 198, 239, 188, 191, 219, +- 148, 200, 252, 192, 193, 197, 134, 205, 254, 171, +- 199, 236, 183, 199, 218, 163, 207, 251, 142, 213, +- 255, 158, 211, 253, 195, 205, 217, 166, 211, 245, +- 205, 204, 228, 153, 218, 255, 190, 210, 236, 186, +- 212, 231, 177, 213, 248, 162, 224, 255, 188, 221, +- 250, 214, 219, 221, 214, 219, 233, 174, 229, 254, +- 198, 225, 247, 209, 226, 248, 186, 233, 251, 227, +- 230, 239, 225, 241, 252, 253, 255, 252, 255, 255, +- 255, 33, 249, 4, 1, 10, 0, 255, 0, 44, +- 0, 0, 0, 0, 120, 0, 67, 0, 0, 8, +- 254, 0, 255, 9, 28, 72, 176, 160, 193, 131, +- 8, 19, 42, 92, 200, 176, 161, 195, 135, 16, +- 35, 74, 156, 72, 177, 162, 197, 139, 22, 131, +- 105, 12, 134, 177, 163, 199, 143, 193, 164, 73, +- 227, 38, 141, 28, 56, 112, 228, 76, 146, 20, +- 41, 205, 152, 75, 99, 183, 100, 201, 50, 101, +- 202, 147, 77, 79, 166, 102, 205, 250, 200, 19, +- 100, 73, 114, 239, 238, 221, 123, 71, 148, 104, +- 202, 163, 224, 86, 138, 124, 25, 115, 166, 205, +- 72, 145, 246, 72, 221, 195, 39, 207, 30, 69, +- 158, 118, 246, 220, 202, 208, 24, 184, 160, 252, +- 248, 9, 29, 59, 212, 100, 75, 99, 53, 159, +- 66, 93, 203, 182, 109, 84, 169, 124, 248, 156, +- 57, 163, 165, 174, 150, 60, 138, 76, 113, 221, +- 251, 207, 24, 183, 119, 97, 3, 135, 125, 71, +- 78, 90, 76, 62, 142, 70, 141, 18, 53, 109, +- 170, 227, 199, 144, 35, 75, 157, 91, 87, 137, +- 229, 28, 74, 190, 228, 229, 139, 209, 43, 96, +- 193, 247, 10, 203, 114, 212, 167, 82, 47, 93, +- 197, 138, 81, 163, 166, 173, 19, 47, 201, 176, +- 99, 59, 166, 171, 36, 135, 237, 22, 45, 114, +- 216, 209, 203, 25, 98, 176, 191, 66, 195, 134, +- 54, 230, 233, 150, 179, 100, 197, 106, 181, 90, +- 158, 171, 57, 179, 110, 231, 124, 185, 145, 77, +- 157, 186, 150, 218, 45, 76, 104, 111, 145, 71, +- 86, 239, 133, 198, 200, 254, 145, 189, 199, 205, | ||
[-] [+] | Added | php-5.4.0-phpize.patch ^ |
@@ -0,0 +1,34 @@ +--- php-5.4.0RC5/scripts/phpize.in.orig 2012-01-18 17:13:54.018022983 +0100 ++++ php-5.4.0RC5/scripts/phpize.in 2012-01-18 17:14:40.614024941 +0100 +@@ -162,6 +162,15 @@ + $PHP_AUTOHEADER || exit 1 + } + ++phpize_check_headers() ++{ ++ if test ! -f $includedir/main/php.h; then ++ echo "Can't find PHP headers in $includedir" ++ echo "The php-devel package is required for use of this command." ++ exit 1 ++ fi ++} ++ + # Main script + + case "$1" in +@@ -180,12 +189,15 @@ + + # Version + --version|-v) ++ phpize_check_headers + phpize_print_api_numbers + exit 0 + ;; + + # Default + *) ++ phpize_check_headers ++ + phpize_check_configm4 0 + + phpize_check_build_files | ||
[-] [+] | Added | php-5.4.15-system-libzip.patch ^ |
@@ -0,0 +1,500 @@ +diff -up php-5.4.15/ext/zip/config.m4.systzip php-5.4.15/ext/zip/config.m4 +--- php-5.4.15/ext/zip/config.m4.systzip 2013-05-08 07:41:20.000000000 +0200 ++++ php-5.4.15/ext/zip/config.m4 2013-05-09 06:46:26.084673644 +0200 +@@ -13,65 +13,116 @@ fi + PHP_ARG_WITH(pcre-dir, pcre install prefix, + [ --with-pcre-dir ZIP: pcre install prefix], no, no) + ++PHP_ARG_WITH(libzip, libzip, ++[ --with-libzip[=DIR] ZIP: use libzip], no, no) ++ + if test "$PHP_ZIP" != "no"; then ++ if test "$PHP_LIBZIP" != "no"; then ++ ++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) ++ ++ dnl system libzip, depends on libzip ++ AC_MSG_CHECKING(for libzip) ++ if test -r $PHP_LIBZIP/include/zip.h; then ++ LIBZIP_CFLAGS="-I$PHP_LIBZIP/include" ++ LIBZIP_LIBDIR="$PHP_LIBZIP/$PHP_LIBDIR" ++ AC_MSG_RESULT(from option: found in $PHP_LIBZIP) ++ ++ elif test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libzip; then ++ LIBZIP_CFLAGS=`$PKG_CONFIG libzip --cflags` ++ LIBZIP_LIBDIR=`$PKG_CONFIG libzip --variable=libdir` ++ AC_MSG_RESULT(from pkgconfig: found in $LIBZIP_LIBDIR) + +- if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then +- if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then +- PHP_ZLIB_DIR="$PHP_ZLIB_DIR" +- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib" +- elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then +- PHP_ZLIB_DIR="$PHP_ZLIB_DIR" +- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include" + else +- AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"]) ++ for i in /usr/local /usr; do ++ if test -r $i/include/zip.h; then ++ LIBZIP_CFLAGS="-I$i/include" ++ LIBZIP_LIBDIR="$i/$PHP_LIBDIR" ++ AC_MSG_RESULT(in default path: found in $i) ++ break ++ fi ++ done + fi ++ ++ if test -z "$LIBZIP_LIBDIR"; then ++ AC_MSG_RESULT(not found) ++ AC_MSG_ERROR(Please reinstall the libzip distribution) ++ fi ++ ++ dnl Could not think of a simple way to check libzip for overwrite support ++ PHP_CHECK_LIBRARY(zip, zip_open, ++ [ ++ PHP_ADD_LIBRARY_WITH_PATH(zip, $LIBZIP_LIBDIR, ZIP_SHARED_LIBADD) ++ AC_DEFINE(HAVE_LIBZIP,1,[ ]) ++ ], [ ++ AC_MSG_ERROR(could not find usable libzip) ++ ], [ ++ -L$LIBZIP_LIBDIR ++ ]) ++ ++ AC_DEFINE(HAVE_ZIP,1,[ ]) ++ PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c, $ext_shared,, $LIBZIP_CFLAGS) ++ PHP_SUBST(ZIP_SHARED_LIBADD) + else +- for i in /usr/local /usr; do +- if test -f "$i/include/zlib/zlib.h"; then +- PHP_ZLIB_DIR="$i" +- PHP_ZLIB_INCDIR="$i/include/zlib" +- elif test -f "$i/include/zlib.h"; then +- PHP_ZLIB_DIR="$i" +- PHP_ZLIB_INCDIR="$i/include" ++ ++ dnl bundled libzip, depends on zlib ++ if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then ++ if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then ++ PHP_ZLIB_DIR="$PHP_ZLIB_DIR" ++ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib" ++ elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then ++ PHP_ZLIB_DIR="$PHP_ZLIB_DIR" ++ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include" ++ else ++ AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"]) + fi +- done +- fi ++ else ++ for i in /usr/local /usr; do ++ if test -f "$i/include/zlib/zlib.h"; then ++ PHP_ZLIB_DIR="$i" ++ PHP_ZLIB_INCDIR="$i/include/zlib" ++ elif test -f "$i/include/zlib.h"; then ++ PHP_ZLIB_DIR="$i" ++ PHP_ZLIB_INCDIR="$i/include" ++ fi ++ done ++ fi + +- dnl # zlib +- AC_MSG_CHECKING([for the location of zlib]) +- if test "$PHP_ZLIB_DIR" = "no"; then +- AC_MSG_ERROR([zip support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located]) +- else +- AC_MSG_RESULT([$PHP_ZLIB_DIR]) +- PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/$PHP_LIBDIR, ZIP_SHARED_LIBADD) +- PHP_ADD_INCLUDE($PHP_ZLIB_INCDIR) +- fi ++ dnl # zlib ++ AC_MSG_CHECKING([for the location of zlib]) ++ if test "$PHP_ZLIB_DIR" = "no"; then ++ AC_MSG_ERROR([zip support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located]) ++ else ++ AC_MSG_RESULT([$PHP_ZLIB_DIR]) ++ PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/$PHP_LIBDIR, ZIP_SHARED_LIBADD) ++ PHP_ADD_INCLUDE($PHP_ZLIB_INCDIR) ++ fi + +- dnl This is PECL build, check if bundled PCRE library is used +- old_CPPFLAGS=$CPPFLAGS +- CPPFLAGS=$INCLUDES +- AC_EGREP_CPP(yes,[ ++ dnl This is PECL build, check if bundled PCRE library is used ++ old_CPPFLAGS=$CPPFLAGS ++ CPPFLAGS=$INCLUDES ++ AC_EGREP_CPP(yes,[ + #include <main/php_config.h> + #if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE) + yes + #endif +- ],[ +- PHP_PCRE_REGEX=yes +- ],[ +- AC_EGREP_CPP(yes,[ ++ ],[ ++ PHP_PCRE_REGEX=yes ++ ],[ ++ AC_EGREP_CPP(yes,[ + #include <main/php_config.h> + #if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE) + yes + #endif +- ],[ +- PHP_PCRE_REGEX=pecl +- ],[ +- PHP_PCRE_REGEX=no ++ ],[ ++ PHP_PCRE_REGEX=pecl ++ ],[ ++ PHP_PCRE_REGEX=no ++ ]) + ]) +- ]) +- CPPFLAGS=$old_CPPFLAGS ++ CPPFLAGS=$old_CPPFLAGS + +- PHP_ZIP_SOURCES="$PHP_ZIP_SOURCES lib/zip_add.c lib/zip_error.c lib/zip_fclose.c \ ++ PHP_ZIP_SOURCES="$PHP_ZIP_SOURCES lib/zip_add.c lib/zip_error.c lib/zip_fclose.c \ + lib/zip_fread.c lib/zip_open.c lib/zip_source_filep.c \ + lib/zip_strerror.c lib/zip_close.c lib/zip_error_get.c \ + lib/zip_file_error_get.c lib/zip_free.c lib/zip_rename.c \ +@@ -98,10 +149,11 @@ yes + lib/zip_source_open.c lib/zip_source_pkware.c lib/zip_source_pop.c \ + lib/zip_source_read.c lib/zip_source_stat.c" + +- AC_DEFINE(HAVE_ZIP,1,[ ]) +- PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c $PHP_ZIP_SOURCES, $ext_shared) +- PHP_ADD_BUILD_DIR($ext_builddir/lib, 1) +- PHP_SUBST(ZIP_SHARED_LIBADD) ++ AC_DEFINE(HAVE_ZIP,1,[ ]) ++ PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c $PHP_ZIP_SOURCES, $ext_shared) ++ PHP_ADD_BUILD_DIR($ext_builddir/lib, 1) ++ PHP_SUBST(ZIP_SHARED_LIBADD) ++ fi + + dnl so we always include the known-good working hack. + PHP_ADD_MAKEFILE_FRAGMENT +diff -up php-5.4.15/ext/zip/php_zip.c.systzip php-5.4.15/ext/zip/php_zip.c +--- php-5.4.15/ext/zip/php_zip.c.systzip 2013-05-08 07:41:20.000000000 +0200 ++++ php-5.4.15/ext/zip/php_zip.c 2013-05-09 06:50:33.286058049 +0200 +@@ -30,8 +30,232 @@ + #include "ext/pcre/php_pcre.h" + #include "ext/standard/php_filestat.h" + #include "php_zip.h" ++#if defined(HAVE_LIBZIP) ++#include <zip.h> ++ ++/* Copied from libzip 0.10 */ ++ ++/* state of change of a file in zip archive */ ++ ++enum zip_state { ZIP_ST_UNCHANGED, ZIP_ST_DELETED, ZIP_ST_REPLACED, ++ ZIP_ST_ADDED, ZIP_ST_RENAMED }; ++ ++/* error source for layered sources */ ++ ++enum zip_les { ZIP_LES_NONE, ZIP_LES_UPPER, ZIP_LES_LOWER, ZIP_LES_INVAL }; ++ ++typedef zip_int64_t (*zip_source_layered_callback)(struct zip_source *, void *, | ||
[-] [+] | Added | php-5.4.16-fpm.patch ^ |
@@ -0,0 +1,31 @@ +From 9f6ca9bc6400fc9c8eaebf963f6eb048dde4b34f Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@php.net> +Date: Fri, 24 May 2013 12:09:05 +0200 +Subject: [PATCH] Fixed Bug #64915 (error_log ignored when daemonize=0) + +Use configured error_log file when stderr is not a tty. +So only use tty during interactive debug run. +--- + NEWS | 3 +++ + sapi/fpm/fpm/fpm_stdio.c | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/sapi/fpm/fpm/fpm_stdio.c b/sapi/fpm/fpm/fpm_stdio.c +index 10b867d..d81e101 100644 +--- a/sapi/fpm/fpm/fpm_stdio.c ++++ b/sapi/fpm/fpm/fpm_stdio.c +@@ -291,7 +291,11 @@ int fpm_stdio_open_error_log(int reopen) /* {{{ */ + fd = fpm_globals.error_log_fd; /* for FD_CLOSEXEC to work */ + } else { + fpm_globals.error_log_fd = fd; ++#if HAVE_UNISTD_H ++ if (fpm_global_config.daemonize || !isatty(STDERR_FILENO)) { ++#else + if (fpm_global_config.daemonize) { ++#endif + zlog_set_fd(fpm_globals.error_log_fd); + } + } +-- +1.7.11.5 + | ||
[-] [+] | Added | php-5.4.18-bison.patch ^ |
@@ -0,0 +1,29 @@ +diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y +index ccbc9b1..6a9a24a 100644 +--- a/Zend/zend_language_parser.y ++++ b/Zend/zend_language_parser.y +@@ -41,17 +41,19 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); + + #define YYERROR_VERBOSE + #define YYSTYPE znode +-#ifdef ZTS +-# define YYPARSE_PARAM tsrm_ls +-# define YYLEX_PARAM tsrm_ls +-#endif +- + + %} + + %pure_parser + %expect 3 + ++%code requires { ++#ifdef ZTS ++# define YYPARSE_PARAM tsrm_ls ++# define YYLEX_PARAM tsrm_ls ++#endif ++} ++ + %token END 0 "end of file" + %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE + %token T_INCLUDE "include (T_INCLUDE)" | ||
[-] [+] | Added | php-5.4.7-libdb.patch ^ |
@@ -0,0 +1,86 @@ +--- php-5.4.7/ext/dba/config.m4.orig 2012-09-20 12:23:00.548322754 +0200 ++++ php-5.4.7/ext/dba/config.m4 2012-09-20 12:28:07.656380829 +0200 +@@ -312,57 +312,13 @@ + dbdp4="/usr/local/BerkeleyDB.4." + dbdp5="/usr/local/BerkeleyDB.5." + for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do +- if test -f "$i/db5/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/db5/db.h +- break +- elif test -f "$i/db4/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/db4/db.h +- break +- elif test -f "$i/include/db5.1/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db5.1/db.h +- break +- elif test -f "$i/include/db5.0/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db5.0/db.h +- break +- elif test -f "$i/include/db4.8/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.8/db.h +- break +- elif test -f "$i/include/db4.7/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.7/db.h +- break +- elif test -f "$i/include/db4.6/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.6/db.h +- break +- elif test -f "$i/include/db4.5/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.5/db.h +- break +- elif test -f "$i/include/db4/db.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4/db.h +- break +- elif test -f "$i/include/db/db4.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db/db4.h +- break +- elif test -f "$i/include/db4.h"; then +- THIS_PREFIX=$i +- THIS_INCLUDE=$i/include/db4.h +- break +- elif test -f "$i/include/db.h"; then ++ if test -f "$i/include/db.h"; then + THIS_PREFIX=$i + THIS_INCLUDE=$i/include/db.h + break + fi + done +- PHP_DBA_DB_CHECK(4, db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) ++ PHP_DBA_DB_CHECK(4, db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)]) + fi + PHP_DBA_STD_RESULT(db4,Berkeley DB4) + +--- php-5.4.7/ext/dba/dba.c.old 2012-09-19 14:55:23.868456900 +0200 ++++ php-5.4.7/ext/dba/dba.c 2012-09-19 15:02:42.796009320 +0200 +@@ -52,6 +52,10 @@ + #include "php_qdbm.h" + #include "php_tcadb.h" + ++#ifdef DB4_INCLUDE_FILE ++#include DB4_INCLUDE_FILE ++#endif ++ + /* {{{ arginfo */ + ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) + ZEND_ARG_INFO(0, path) +@@ -522,6 +526,10 @@ + + php_info_print_table_start(); + php_info_print_table_row(2, "DBA support", "enabled"); ++#ifdef DB_VERSION_STRING ++ php_info_print_table_row(2, "libdb header version", DB_VERSION_STRING); ++ php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL)); ++#endif + if (handlers.c) { + smart_str_0(&handlers); + php_info_print_table_row(2, "Supported handlers", handlers.c); | ||
[-] [+] | Added | php-5.4.7-odbctimer.patch ^ |
@@ -0,0 +1,58 @@ +From 657494235eafe048e9fa6a19dcdb3c73a0cbe6ec Mon Sep 17 00:00:00 2001 +From: Remi Collet <fedora@famillecollet.com> +Date: Thu, 27 Sep 2012 13:45:32 +0200 +Subject: [PATCH] Fixed bug #63171, script hangs if odbc call during timeout + +--- + ext/odbc/php_odbc.c | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c +index 52d46b2..2169e65 100644 +--- a/ext/odbc/php_odbc.c ++++ b/ext/odbc/php_odbc.c +@@ -431,7 +431,8 @@ static void _free_odbc_result(zend_rsrc_list_entry *rsrc TSRMLS_DC) + efree(res->values); + res->values = NULL; + } +- if (res->stmt) { ++ /* If aborted via timer expiration, don't try to call any unixODBC function */ ++ if (res->stmt && !(PG(connection_status) & PHP_CONNECTION_TIMEOUT)) { + #if defined(HAVE_SOLID) || defined(HAVE_SOLID_30) || defined(HAVE_SOLID_35) + SQLTransact(res->conn_ptr->henv, res->conn_ptr->hdbc, + (SQLUSMALLINT) SQL_COMMIT); +@@ -484,9 +485,12 @@ static void _close_odbc_conn(zend_rsrc_list_entry *rsrc TSRMLS_DC) + } + } + +- safe_odbc_disconnect(conn->hdbc); +- SQLFreeConnect(conn->hdbc); +- SQLFreeEnv(conn->henv); ++ /* If aborted via timer expiration, don't try to call any unixODBC function */ ++ if (!(PG(connection_status) & PHP_CONNECTION_TIMEOUT)) { ++ safe_odbc_disconnect(conn->hdbc); ++ SQLFreeConnect(conn->hdbc); ++ SQLFreeEnv(conn->henv); ++ } + efree(conn); + ODBCG(num_links)--; + } +@@ -512,9 +516,12 @@ static void _close_odbc_pconn(zend_rsrc_list_entry *rsrc TSRMLS_DC) + } + } + +- safe_odbc_disconnect(conn->hdbc); +- SQLFreeConnect(conn->hdbc); +- SQLFreeEnv(conn->henv); ++ /* If aborted via timer expiration, don't try to call any unixODBC function */ ++ if (!(PG(connection_status) & PHP_CONNECTION_TIMEOUT)) { ++ safe_odbc_disconnect(conn->hdbc); ++ SQLFreeConnect(conn->hdbc); ++ SQLFreeEnv(conn->henv); ++ } + free(conn); + + ODBCG(num_links)--; +-- +1.7.10 + | ||
[-] [+] | Added | php-5.4.8-ldap_r.patch ^ |
@@ -0,0 +1,17 @@ + +Use -lldap_r by default. + +--- php-5.4.8/ext/ldap/config.m4.ldap_r ++++ php-5.4.8/ext/ldap/config.m4 +@@ -95,7 +95,10 @@ if test "$PHP_LDAP" != "no"; then + LDAP_PTHREAD= + fi + +- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME; then ++ if test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME; then ++ PHP_ADD_LIBRARY_WITH_PATH(lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD) ++ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, $LDAP_LIBDIR, LDAP_SHARED_LIBADD) ++ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME; then + PHP_ADD_LIBRARY_WITH_PATH(lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD) + PHP_ADD_LIBRARY_WITH_PATH(ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD) + | ||
[-] [+] | Added | php-5.4.9-fixheader.patch ^ |
@@ -0,0 +1,23 @@ + +Make generated php_config.h constant across rebuilds. + +--- php-5.4.9/configure.in.fixheader ++++ php-5.4.9/configure.in +@@ -1258,7 +1258,7 @@ fi + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS" + EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS" + +-PHP_BUILD_DATE=`date '+%Y-%m-%d'` ++PHP_BUILD_DATE=`date '+%Y-%m-%d' -r $srcdir/NEWS` + AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) + + case $host_alias in +@@ -1269,7 +1269,7 @@ case $host_alias in + AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[hardcode for each of the cross compiler host]) + ;; + *) +- PHP_UNAME=`uname -a | xargs` ++ PHP_UNAME=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) + PHP_OS=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) | ||
[-] [+] | Added | php-5.4.9-phpinfo.patch ^ |
@@ -0,0 +1,27 @@ + +Drop "Configure Command" from phpinfo as it doesn't +provide any useful information. +The available extensions are not related to this command. + +--- php-5.4.9/ext/standard/info.c.orig 2012-12-11 10:43:02.450578276 +0100 ++++ php-5.4.9/ext/standard/info.c 2012-12-11 10:44:12.530820821 +0100 +@@ -704,9 +704,6 @@ + #ifdef ARCHITECTURE + php_info_print_table_row(2, "Architecture", ARCHITECTURE); + #endif +-#ifdef CONFIGURE_COMMAND +- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND ); +-#endif + + if (sapi_module.pretty_name) { + php_info_print_table_row(2, "Server API", sapi_module.pretty_name ); +--- php-5.4.9/ext/standard/tests/general_functions/phpinfo.phpt.orig 2012-12-11 11:07:26.959156091 +0100 ++++ php-5.4.9/ext/standard/tests/general_functions/phpinfo.phpt 2012-12-11 11:07:30.899170970 +0100 +@@ -20,7 +20,6 @@ + + System => %s + Build Date => %s%a +-Configure Command => %s + Server API => Command Line Interface + Virtual Directory Support => %s + Configuration File (php.ini) Path => %s | ||
[-] [+] | Added | macros.php ^ |
@@ -0,0 +1,19 @@ +# +# Interface versions exposed by PHP: +# +%php_core_api @PHP_APIVER@ +%php_zend_api @PHP_ZENDVER@ +%php_pdo_api @PHP_PDOVER@ +%php_version @PHP_VERSION@ + +%php_extdir %{_libdir}/php/modules +%php_ztsextdir %{_libdir}/php-zts/modules + +%php_inidir %{_sysconfdir}/php.d +%php_ztsinidir %{_sysconfdir}/php-zts.d + +%php_incldir %{_includedir}/php +%php_ztsincldir %{_includedir}/php-zts/php + +%__php %{_bindir}/php +%__ztsphp %{_bindir}/zts-php | ||
[-] [+] | Added | php-fpm-www.conf ^ |
@@ -0,0 +1,226 @@ +; Start a new pool named 'www'. +[www] + +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses on a +; specific port; +; '/path/to/unix/socket' - to listen on a unix socket. +; Note: This value is mandatory. +listen = 127.0.0.1:9000 + +; Set listen(2) backlog. A value of '-1' means unlimited. +; Default Value: -1 +;listen.backlog = -1 + +; List of ipv4 addresses of FastCGI clients which are allowed to connect. +; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original +; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address +; must be separated by a comma. If this value is left blank, connections will be +; accepted from any ip address. +; Default Value: any +listen.allowed_clients = 127.0.0.1 + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0666 +;listen.owner = nobody +;listen.group = nobody +;listen.mode = 0666 + +; Unix user/group of processes +; Note: The user is mandatory. If the group is not set, the default user's group +; will be used. +; RPM: apache Choosed to be able to access some dir as httpd +user = apache +; RPM: Keep a group allowed to write in log dir. +group = apache + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static - a fixed number (pm.max_children) of child processes; +; dynamic - the number of child processes are set dynamically based on the +; following directives: +; pm.max_children - the maximum number of children that can +; be alive at the same time. +; pm.start_servers - the number of children created on startup. +; pm.min_spare_servers - the minimum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is less than this +; number then some children will be created. +; pm.max_spare_servers - the maximum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is greater than this +; number then some children will be killed. +; Note: This value is mandatory. +pm = dynamic + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes to be created when pm is set to 'dynamic'. +; This value sets the limit on the number of simultaneous requests that will be +; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. +; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP +; CGI. +; Note: Used when pm is set to either 'static' or 'dynamic' +; Note: This value is mandatory. +pm.max_children = 50 + +; The number of child processes created on startup. +; Note: Used only when pm is set to 'dynamic' +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +pm.start_servers = 5 + +; The desired minimum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.min_spare_servers = 5 + +; The desired maximum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.max_spare_servers = 35 + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +;pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. By default, the status page shows the following +; information: +; accepted conn - the number of request accepted by the pool; +; pool - the name of the pool; +; process manager - static or dynamic; +; idle processes - the number of idle processes; +; active processes - the number of active processes; +; total processes - the number of idle + active processes. +; The values of 'idle processes', 'active processes' and 'total processes' are +; updated each second. The value of 'accepted conn' is updated in real time. +; Example output: +; accepted conn: 12073 +; pool: www +; process manager: static +; idle processes: 35 +; active processes: 65 +; total processes: 100 +; By default the status page output is formatted as text/plain. Passing either +; 'html' or 'json' as a query string will return the corresponding output +; syntax. Example: +; http://www.foo.bar/status +; http://www.foo.bar/status?json +; http://www.foo.bar/status?html +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;pm.status_path = /status + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;ping.path = /ping + +; This directive may be used to customize the response of a ping request. The +; response is formatted as text/plain with a 200 response code. +; Default Value: pong +;ping.response = pong + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +slowlog = /var/log/php-fpm/www-slow.log + +; Set open file descriptor rlimit. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Chroot to this directory at the start. This value must be defined as an +; absolute path. When this value is not set, chroot is not used. +; Note: chrooting is a great security feature and should be used whenever +; possible. However, all PHP paths will be relative to the chroot +; (error_log, sessions.save_path, ...). +; Default Value: not set +;chroot = + +; Chdir to this directory at the start. This value must be an absolute path. +; Default Value: current directory or / when chroot +;chdir = /var/www + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Default Value: no +;catch_workers_output = yes + +; Limits the extensions of the main script FPM will allow to parse. This can +; prevent configuration mistakes on the web server side. You should only limit +; FPM to .php extensions to prevent malicious users to use other extensions to +; exectute php code. +; Note: set an empty value to allow all extensions. +; Default Value: .php +;security.limit_extensions = .php .php3 .php4 .php5 + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +;env[HOSTNAME] = $HOSTNAME +;env[PATH] = /usr/local/bin:/usr/bin:/bin +;env[TMP] = /tmp +;env[TMPDIR] = /tmp +;env[TEMP] = /tmp | ||
[-] [+] | Added | php-fpm.conf ^ |
@@ -0,0 +1,60 @@ +;;;;;;;;;;;;;;;;;;;;; +; FPM Configuration ; +;;;;;;;;;;;;;;;;;;;;; + +; All relative paths in this configuration file are relative to PHP's install +; prefix. + +; Include one or more files. If glob(3) exists, it is used to include a bunch of +; files from a glob(3) pattern. This directive can be used everywhere in the +; file. +include=/etc/php-fpm.d/*.conf + +;;;;;;;;;;;;;;;;;; +; Global Options ; +;;;;;;;;;;;;;;;;;; + +[global] +; Pid file +; Default Value: none +pid = /run/php-fpm/php-fpm.pid + +; Error log file +; Default Value: /var/log/php-fpm.log +error_log = /var/log/php-fpm/error.log + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +;log_level = notice + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +;emergency_restart_threshold = 0 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;emergency_restart_interval = 0 + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;process_control_timeout = 0 + +; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. +; Default Value: yes +daemonize = yes + +;;;;;;;;;;;;;;;;;;;; +; Pool Definitions ; +;;;;;;;;;;;;;;;;;;;; + +; See /etc/php-fpm.d/*.conf + | ||
[-] [+] | Added | php-fpm.init ^ |
@@ -0,0 +1,92 @@ +#! /bin/sh +# +# chkconfig: - 84 16 +# description: PHP FastCGI Process Manager +# processname: php-fpm +# config: /etc/php-fpm.conf +# pidfile: /var/run/php-fpm/php-fpm.pid + +# Standard LSB functions +#. /lib/lsb/init-functions + +# Source function library. +. /etc/init.d/functions + +# Check that networking is up. +. /etc/sysconfig/network + +# Additional environment file +if [ -f /etc/sysconfig/php-fpm ]; then + . /etc/sysconfig/php-fpm +fi + +if [ "$NETWORKING" = "no" ] +then + exit 0 +fi + +RETVAL=0 +prog="php-fpm" +pidfile=${PIDFILE-/var/run/php-fpm/php-fpm.pid} +lockfile=${LOCKFILE-/var/lock/subsys/php-fpm} + +start () { + echo -n $"Starting $prog: " + dir=$(dirname ${pidfile}) + [ -d $dir ] || mkdir $dir + daemon --pidfile ${pidfile} php-fpm --daemonize + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch ${lockfile} +} +stop () { + echo -n $"Stopping $prog: " + killproc -p ${pidfile} php-fpm + RETVAL=$? + echo + if [ $RETVAL -eq 0 ] ; then + rm -f ${lockfile} ${pidfile} + fi +} + +restart () { + stop + start +} + +reload () { + echo -n $"Reloading $prog: " + killproc -p ${pidfile} php-fpm -USR2 + RETVAL=$? + echo +} + + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status -p ${pidfile} php-fpm + RETVAL=$? + ;; + restart) + restart + ;; + reload|force-reload) + reload + ;; + condrestart|try-restart) + [ -f ${lockfile} ] && restart || : + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart}" + RETVAL=2 + ;; +esac + +exit $RETVAL | ||
[-] [+] | Added | php-fpm.logrotate ^ |
@@ -0,0 +1,9 @@ +/var/log/php-fpm/*log { + missingok + notifempty + sharedscripts + delaycompress + postrotate + /bin/kill -SIGUSR1 `cat /run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true + endscript +} | ||
[-] [+] | Added | php-fpm.service ^ |
@@ -0,0 +1,15 @@ +[Unit] +Description=The PHP FastCGI Process Manager +After=syslog.target network.target + +[Service] +Type=notify +PIDFile=/run/php-fpm/php-fpm.pid +EnvironmentFile=/etc/sysconfig/php-fpm +ExecStart=/usr/sbin/php-fpm --nodaemonize +ExecReload=/bin/kill -USR2 $MAINPID +PrivateTmp=true + +[Install] +WantedBy=multi-user.target + | ||
[-] [+] | Added | php-fpm.sysconfig ^ |
@@ -0,0 +1,2 @@ +# Additional environment file for php-fpm + | ||
[-] [+] | Added | php.conf ^ |
@@ -0,0 +1,32 @@ +# +# Cause the PHP interpreter to handle files with a .php extension. +# +<FilesMatch \.php$> + SetHandler application/x-httpd-php +</FilesMatch> + +# +# Allow php to handle Multiviews +# +AddType text/html .php + +# +# Add index.php to the list of files that will be served as directory +# indexes. +# +DirectoryIndex index.php + +# +# Uncomment the following lines to allow PHP to pretty-print .phps +# files as PHP source code: +# +#<FilesMatch \.phps$> +# SetHandler application/x-httpd-php-source +#</FilesMatch> + +# +# Apache specific PHP configuration options +# those can be override in each configured vhost +# +php_value session.save_handler "files" +php_value session.save_path "/var/lib/php/session" | ||
[-] [+] | Added | php.ini ^ |
@@ -0,0 +1,1797 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it's +; much more verbose when it comes to errors. We recommending using the +; development version only in development environments as errors shown to +; application users can inadvertently leak otherwise secure information. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.bug_compat_42 +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.bug_compat_warn +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.hash_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; url_rewriter.tags +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between | ||
[-] [+] | Added | php.modconf ^ |
@@ -0,0 +1,12 @@ +# +# PHP is an HTML-embedded scripting language which attempts to make it +# easy for developers to write dynamically generated webpages. +# +<IfModule prefork.c> + LoadModule php5_module modules/libphp5.so +</IfModule> +<IfModule !prefork.c> + LoadModule php5_module modules/libphp5-zts.so +</IfModule> + + |