- https://fedoraproject.org/wiki/Changes/php70
- drop ereg, mysql, mssql extensions
- add json extension
This commit is contained in:
Remi Collet 2016-06-27 15:05:34 +02:00
parent a70d7caea7
commit 3920d6f792
16 changed files with 259 additions and 412 deletions

1
.gitignore vendored
View File

@ -74,3 +74,4 @@ php-5.5.*.xz
/php-5.6.22-strip.tar.xz /php-5.6.22-strip.tar.xz
/php-5.6.23RC1-strip.tar.xz /php-5.6.23RC1-strip.tar.xz
/php-5.6.23-strip.tar.xz /php-5.6.23-strip.tar.xz
/php-7.0.8.tar.xz

View File

@ -42,11 +42,6 @@ opcache.max_accelerated_files=4000
; size of the optimized code. ; size of the optimized code.
;opcache.save_comments=1 ;opcache.save_comments=1
; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
;opcache.load_comments=1
; If enabled, a fast shutdown sequence is used for the accelerated code ; If enabled, a fast shutdown sequence is used for the accelerated code
;opcache.fast_shutdown=0 ;opcache.fast_shutdown=0
@ -93,3 +88,26 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
; Useful for internal debugging only. ; Useful for internal debugging only.
;opcache.protect_memory=0 ;opcache.protect_memory=0
; Allows calling OPcache API functions only from PHP scripts which path is
; started from specified string. The default "" means no restriction
;opcache.restrict_api=
; Enables and sets the second level cache directory.
; It should improve performance when SHM memory is full, at server restart or
; SHM reset. The default "" disables file based caching.
; RPM note : file cache directory must be owned by process owner
; for mod_php, see /etc/httpd/conf.d/php.conf
; for php-fpm, see /etc/php-fpm.d/*conf
;opcache.file_cache=
; Enables or disables opcode caching in shared memory.
;opcache.file_cache_only=0
; Enables or disables checksum validation when script loaded from file cache.
;opcache.file_cache_consistency_checks=1
; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
; This should improve performance, but requires appropriate OS configuration.
opcache.huge_code_pages=0

View File

@ -1,17 +0,0 @@
--- 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)

30
php-7.0.0-dlopen.patch Normal file
View File

@ -0,0 +1,30 @@
diff -up php-7.0.0RC1/sapi/litespeed/lsapilib.c.dlopen php-7.0.0RC1/sapi/litespeed/lsapilib.c
--- php-7.0.0RC1/sapi/litespeed/lsapilib.c.dlopen 2015-08-18 23:39:17.000000000 +0200
+++ php-7.0.0RC1/sapi/litespeed/lsapilib.c 2015-08-22 07:46:31.729721983 +0200
@@ -582,7 +582,7 @@ static int (*fp_lve_leave)(struct liblve
static int (*fp_lve_jail)( struct passwd *, char *) = NULL;
static int lsapi_load_lve_lib()
{
- s_liblve = dlopen("liblve.so.0", RTLD_LAZY);
+ s_liblve = dlopen("liblve.so.0", RTLD_NOW);
if (s_liblve)
{
fp_lve_is_available = dlsym(s_liblve, "lve_is_available");
diff -up php-7.0.0RC1/Zend/zend_portability.h.dlopen php-7.0.0RC1/Zend/zend_portability.h
--- php-7.0.0RC1/Zend/zend_portability.h.dlopen 2015-08-18 23:39:16.000000000 +0200
+++ php-7.0.0RC1/Zend/zend_portability.h 2015-08-22 07:46:31.729721983 +0200
@@ -136,11 +136,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)

View File

@ -1,9 +1,9 @@
Make generated php_config.h constant across rebuilds. Make generated php_config.h constant across rebuilds.
--- php-5.4.9/configure.in.fixheader --- php-7.0.0/configure.in.fixheader
+++ php-5.4.9/configure.in +++ php-7.0.0/configure.in
@@ -1275,7 +1275,7 @@ fi @@ -1278,7 +1278,7 @@ fi
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS" EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS" EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
@ -12,7 +12,7 @@ Make generated php_config.h constant across rebuilds.
AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
case $host_alias in case $host_alias in
@@ -1286,7 +1286,7 @@ case $host_alias in @@ -1289,7 +1289,7 @@ case $host_alias in
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[hardcode for each of the cross compiler host]) AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[hardcode for each of the cross compiler host])
;; ;;
*) *)

View File

@ -1,6 +1,6 @@
--- php-5.2.0/configure.in.includedir --- php-7.0.0/configure.in.includedir
+++ php-5.2.0/configure.in +++ php-7.0.0/configure.in
@@ -1242,7 +1242,7 @@ @@ -1245,7 +1245,7 @@
EXPANDED_DATADIR=$datadir EXPANDED_DATADIR=$datadir
EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"` EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"` EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`

View File

@ -2,6 +2,7 @@ Add support for use of the system timezone database, rather
than embedding a copy. Discussed upstream but was not desired. than embedding a copy. Discussed upstream but was not desired.
History: History:
r13: adapt for upstream changes to use PHP allocator
r12: adapt for upstream changes for new zic r12: adapt for upstream changes for new zic
r11: use canonical names to avoid more case sensitivity issues r11: use canonical names to avoid more case sensitivity issues
round lat/long from zone.tab towards zero per builtin db round lat/long from zone.tab towards zero per builtin db
@ -20,9 +21,9 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert)
r2: add filesystem trawl to set up name alias index r2: add filesystem trawl to set up name alias index
r1: initial revision r1: initial revision
diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/parse_tz.c diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/lib/parse_tz.c
--- php-5.6.13/ext/date/lib/parse_tz.c.systzdata 2015-09-03 02:02:45.000000000 +0200 --- php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata 2015-08-18 23:39:24.000000000 +0200
+++ php-5.6.13/ext/date/lib/parse_tz.c 2015-09-03 12:50:52.555576944 +0200 +++ php-7.0.0RC1/ext/date/lib/parse_tz.c 2015-08-22 07:54:38.097258458 +0200
@@ -20,6 +20,16 @@ @@ -20,6 +20,16 @@
#include "timelib.h" #include "timelib.h"
@ -40,11 +41,12 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_LOCALE_H #ifdef HAVE_LOCALE_H
@@ -33,7 +43,11 @@ @@ -32,8 +42,12 @@
#include <strings.h>
#endif #endif
#define TIMELIB_SUPPORTS_V2DATA
+#ifndef HAVE_SYSTEM_TZDATA +#ifndef HAVE_SYSTEM_TZDATA
#define TIMELIB_SUPPORTS_V2DATA
#include "timezonedb.h" #include "timezonedb.h"
+#endif +#endif
+ +
@ -52,7 +54,7 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__) # if defined(__LITTLE_ENDIAN__)
@@ -55,6 +69,10 @@ static int read_preamble(const unsigned @@ -55,6 +69,11 @@ static int read_preamble(const unsigned
{ {
uint32_t version; uint32_t version;
@ -60,10 +62,11 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ *tzf += 20; + *tzf += 20;
+ return 0; + return 0;
+ } + }
+
/* read ID */ /* read ID */
version = (*tzf)[3] - '0'; version = (*tzf)[3] - '0';
*tzf += 4; *tzf += 4;
@@ -298,7 +316,418 @@ void timelib_dump_tzinfo(timelib_tzinfo @@ -298,7 +317,418 @@ void timelib_dump_tzinfo(timelib_tzinfo
} }
} }
@ -101,11 +104,11 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ const unsigned char *p = (const unsigned char *)str; + const unsigned char *p = (const unsigned char *)str;
+ uint32_t hash = 5381; + uint32_t hash = 5381;
+ int c; + int c;
+ +
+ while ((c = tolower(*p++)) != '\0') { + while ((c = tolower(*p++)) != '\0') {
+ hash = (hash << 5) ^ hash ^ c; + hash = (hash << 5) ^ hash ^ c;
+ } + }
+ +
+ return hash % LOCINFO_HASH_SIZE; + return hash % LOCINFO_HASH_SIZE;
+} +}
+ +
@ -433,9 +436,9 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+{ +{
+ if (timezonedb_system) { + if (timezonedb_system) {
+ timelib_tzdb_index_entry *ent, lookup; + timelib_tzdb_index_entry *ent, lookup;
+ +
+ lookup.id = (char *)timezone; + lookup.id = (char *)timezone;
+ +
+ ent = bsearch(&lookup, timezonedb_system->index, + ent = bsearch(&lookup, timezonedb_system->index,
+ timezonedb_system->index_size, sizeof lookup, + timezonedb_system->index_size, sizeof lookup,
+ sysdbcmp); + sysdbcmp);
@ -483,7 +486,7 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
{ {
int left = 0, right = tzdb->index_size - 1; int left = 0, right = tzdb->index_size - 1;
#ifdef HAVE_SETLOCALE #ifdef HAVE_SETLOCALE
@@ -337,21 +766,87 @@ static int seek_to_tz_position(const uns @@ -337,21 +767,88 @@ static int seek_to_tz_position(const uns
return 0; return 0;
} }
@ -500,9 +503,9 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ return 0; + return 0;
+ } + }
+ +
+ (*tzf) = (unsigned char *)orig ; + (*tzf) = (unsigned char *)orig;
+ *map = orig; + *map = orig;
+ return 1; + return 1;
+ } + }
+ else + else
+#endif +#endif
@ -568,11 +571,12 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ return stat(fname, &st) == 0 && is_valid_tzfile(&st); + return stat(fname, &st) == 0 && is_valid_tzfile(&st);
+ } + }
+#endif +#endif
+
+ return (inmem_seek_to_tz_position(&tzf, timezone, tzdb)); + return (inmem_seek_to_tz_position(&tzf, timezone, tzdb));
} }
static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
@@ -376,24 +871,54 @@ static void read_64bit_header(const unsi @@ -376,24 +873,54 @@ static void read_64bit_header(const unsi
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb) timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb)
{ {
const unsigned char *tzf; const unsigned char *tzf;
@ -606,8 +610,8 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ * if possible. */ + * if possible. */
+ +
+ if ((li = find_zone_info(system_location_table, timezone)) != NULL) { + if ((li = find_zone_info(system_location_table, timezone)) != NULL) {
+ tmp->location.comments = strdup(li->comment); + tmp->location.comments = timelib_strdup(li->comment);
+ strncpy(tmp->location.country_code, li->code, 2); + strncpy(tmp->location.country_code, li->code, 2);
+ tmp->location.longitude = li->longitude; + tmp->location.longitude = li->longitude;
+ tmp->location.latitude = li->latitude; + tmp->location.latitude = li->latitude;
+ tmp->bc = 1; + tmp->bc = 1;
@ -615,7 +619,7 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ else { + else {
+ strcpy(tmp->location.country_code, "??"); + strcpy(tmp->location.country_code, "??");
+ tmp->bc = 0; + tmp->bc = 0;
+ tmp->location.comments = strdup(""); + tmp->location.comments = timelib_strdup("");
+ } + }
+ +
+ /* Now done with the mmap segment - discard it. */ + /* Now done with the mmap segment - discard it. */
@ -623,6 +627,7 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ } else + } else
+#endif +#endif
+ { + {
+ /* PHP-style - use the embedded info. */
+ if (version == 2) { + if (version == 2) {
+ skip_64bit_preamble(&tzf, tmp); + skip_64bit_preamble(&tzf, tmp);
+ read_64bit_header(&tzf, tmp); + read_64bit_header(&tzf, tmp);
@ -630,15 +635,14 @@ diff -up php-5.6.13/ext/date/lib/parse_tz.c.systzdata php-5.6.13/ext/date/lib/pa
+ skip_64bit_types(&tzf, tmp); + skip_64bit_types(&tzf, tmp);
+ skip_posix_string(&tzf, tmp); + skip_posix_string(&tzf, tmp);
+ } + }
+ /* PHP-style - use the embedded info. */
+ read_location(&tzf, tmp); + read_location(&tzf, tmp);
+ } + }
} else { } else {
tmp = NULL; tmp = NULL;
} }
diff -up php-5.6.13/ext/date/lib/timelib.m4.systzdata php-5.6.13/ext/date/lib/timelib.m4 diff -up php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata php-7.0.0RC1/ext/date/lib/timelib.m4
--- php-5.6.13/ext/date/lib/timelib.m4.systzdata 2015-09-03 02:02:45.000000000 +0200 --- php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata 2015-08-18 23:39:24.000000000 +0200
+++ php-5.6.13/ext/date/lib/timelib.m4 2015-09-03 12:49:43.247226154 +0200 +++ php-7.0.0RC1/ext/date/lib/timelib.m4 2015-08-22 07:47:34.854055364 +0200
@@ -78,3 +78,17 @@ stdlib.h @@ -78,3 +78,17 @@ stdlib.h
dnl Check for strtoll, atoll dnl Check for strtoll, atoll

View File

@ -1,6 +1,6 @@
diff -up php-5.6.17RC1/ext/dba/config.m4.libdb php-5.6.17RC1/ext/dba/config.m4 diff -up php-7.0.2RC1/ext/dba/config.m4.libdb php-7.0.2RC1/ext/dba/config.m4
--- php-5.6.17RC1/ext/dba/config.m4.libdb 2015-12-10 10:42:34.643252975 +0100 --- php-7.0.2RC1/ext/dba/config.m4.libdb 2015-12-27 07:54:48.669923462 +0100
+++ php-5.6.17RC1/ext/dba/config.m4 2015-12-10 10:44:27.924729361 +0100 +++ php-7.0.2RC1/ext/dba/config.m4 2015-12-27 07:55:03.607947034 +0100
@@ -312,61 +312,13 @@ if test "$PHP_DB4" != "no"; then @@ -312,61 +312,13 @@ if test "$PHP_DB4" != "no"; then
dbdp4="/usr/local/BerkeleyDB.4." dbdp4="/usr/local/BerkeleyDB.4."
dbdp5="/usr/local/BerkeleyDB.5." dbdp5="/usr/local/BerkeleyDB.5."
@ -65,9 +65,9 @@ diff -up php-5.6.17RC1/ext/dba/config.m4.libdb php-5.6.17RC1/ext/dba/config.m4
fi fi
PHP_DBA_STD_RESULT(db4,Berkeley DB4) PHP_DBA_STD_RESULT(db4,Berkeley DB4)
diff -up php-5.6.17RC1/ext/dba/dba.c.libdb php-5.6.17RC1/ext/dba/dba.c diff -up php-7.0.2RC1/ext/dba/dba.c.libdb php-7.0.2RC1/ext/dba/dba.c
--- php-5.6.17RC1/ext/dba/dba.c.libdb 2015-12-10 01:36:02.000000000 +0100 --- php-7.0.2RC1/ext/dba/dba.c.libdb 2015-12-22 16:19:29.000000000 +0100
+++ php-5.6.17RC1/ext/dba/dba.c 2015-12-10 10:42:34.644252979 +0100 +++ php-7.0.2RC1/ext/dba/dba.c 2015-12-27 07:52:30.381638216 +0100
@@ -52,6 +52,10 @@ @@ -52,6 +52,10 @@
#include "php_qdbm.h" #include "php_qdbm.h"
#include "php_tcadb.h" #include "php_tcadb.h"
@ -79,7 +79,7 @@ diff -up php-5.6.17RC1/ext/dba/dba.c.libdb php-5.6.17RC1/ext/dba/dba.c
/* {{{ arginfo */ /* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2)
ZEND_ARG_INFO(0, path) ZEND_ARG_INFO(0, path)
@@ -535,6 +539,10 @@ PHP_MINFO_FUNCTION(dba) @@ -552,6 +556,10 @@ PHP_MINFO_FUNCTION(dba)
php_info_print_table_start(); php_info_print_table_start();
php_info_print_table_row(2, "DBA support", "enabled"); php_info_print_table_row(2, "DBA support", "enabled");
@ -87,6 +87,6 @@ diff -up php-5.6.17RC1/ext/dba/dba.c.libdb php-5.6.17RC1/ext/dba/dba.c
+ php_info_print_table_row(2, "libdb header version", 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)); + php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL));
+#endif +#endif
if (handlers.c) { if (handlers.s) {
smart_str_0(&handlers); smart_str_0(&handlers);
php_info_print_table_row(2, "Supported handlers", handlers.c); php_info_print_table_row(2, "Supported handlers", ZSTR_VAL(handlers.s));

View File

@ -5,6 +5,7 @@
; Per pool prefix ; Per pool prefix
; It only applies on the following directives: ; It only applies on the following directives:
; - 'access.log'
; - 'slowlog' ; - 'slowlog'
; - 'listen' (unixsocket) ; - 'listen' (unixsocket)
; - 'chroot' ; - 'chroot'
@ -30,17 +31,15 @@ group = apache
; a specific port; ; a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
; a specific port; ; a specific port;
; 'port' - to listen on a TCP socket to all IPv4 addresses on a ; 'port' - to listen on a TCP socket to all addresses
; specific port;
; '[::]:port' - to listen on a TCP socket to all addresses
; (IPv6 and IPv4-mapped) on a specific port; ; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket. ; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory. ; Note: This value is mandatory.
listen = /run/php-fpm/www.sock listen = /run/php-fpm/www.sock
; Set listen(2) backlog. ; Set listen(2) backlog.
; Default Value: 65535 ; Default Value: 511
;listen.backlog = 65535 ;listen.backlog = 511
; Set permissions for unix socket, if one is used. In Linux, read/write ; 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. ; permissions must be set in order to allow connections from a web server.
@ -302,9 +301,13 @@ pm.max_spare_servers = 35
; %t: server time the request was received ; %t: server time the request was received
; it can accept a strftime(3) format: ; it can accept a strftime(3) format:
; %d/%b/%Y:%H:%M:%S %z (default) ; %d/%b/%Y:%H:%M:%S %z (default)
; The strftime(3) format must be encapsuled in a %{<strftime_format>}t tag
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
; %T: time the log has been written (the request has finished) ; %T: time the log has been written (the request has finished)
; it can accept a strftime(3) format: ; it can accept a strftime(3) format:
; %d/%b/%Y:%H:%M:%S %z (default) ; %d/%b/%Y:%H:%M:%S %z (default)
; The strftime(3) format must be encapsuled in a %{<strftime_format>}t tag
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
; %u: remote user ; %u: remote user
; ;
; Default: "%R - %u %t \"%m %r\" %s" ; Default: "%R - %u %t \"%m %r\" %s"
@ -375,7 +378,7 @@ slowlog = /var/log/php-fpm/www-slow.log
; exectute php code. ; exectute php code.
; Note: set an empty value to allow all extensions. ; Note: set an empty value to allow all extensions.
; Default Value: .php ; Default Value: .php
;security.limit_extensions = .php .php3 .php4 .php5 ;security.limit_extensions = .php .php3 .php4 .php5 .php7
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
; the current environment. ; the current environment.
@ -411,8 +414,9 @@ php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 128M ;php_admin_value[memory_limit] = 128M
; Set session path to a directory owned by process user ; Set data paths to directories owned by process user
php_value[session.save_handler] = files php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
;php_value[opcache.file_cache] = /var/lib/php/opcache

View File

@ -17,7 +17,7 @@ AddType text/html .php
DirectoryIndex index.php DirectoryIndex index.php
# mod_php options # mod_php options
<IfModule mod_php5.c> <IfModule mod_php7.c>
# #
# Cause the PHP interpreter to handle files with a .php extension. # Cause the PHP interpreter to handle files with a .php extension.
# #
@ -40,14 +40,18 @@ DirectoryIndex index.php
php_value session.save_handler "files" php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session" php_value session.save_path "/var/lib/php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache" php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
#php_value opcache.file_cache "/var/lib/php/opcache"
</IfModule> </IfModule>
# Redirect to local php-fpm if mod_php is not available # Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php5.c> <IfModule !mod_php5.c>
<IfModule !mod_php7.c>
# Enable http authorization headers # Enable http authorization headers
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
<FilesMatch \.php$> <FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost" SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch> </FilesMatch>
</IfModule>
</IfModule> </IfModule>

265
php.ini
View File

@ -201,10 +201,6 @@ engine = On
; http://php.net/short-open-tag ; http://php.net/short-open-tag
short_open_tag = Off short_open_tag = Off
; Allow ASP-style <% %> tags.
; http://php.net/asp-tags
asp_tags = Off
; The number of significant digits displayed in floating point numbers. ; The number of significant digits displayed in floating point numbers.
; http://php.net/precision ; http://php.net/precision
precision = 14 precision = 14
@ -293,20 +289,17 @@ serialize_precision = 17
; open_basedir, if set, limits all file operations to the defined directory ; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory ; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is ; or per-virtualhost web server configuration file.
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/open-basedir ; http://php.net/open-basedir
;open_basedir = ;open_basedir =
; This directive allows you to disable certain functions for security reasons. ; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is ; It receives a comma-delimited list of function names.
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions ; http://php.net/disable-functions
disable_functions = disable_functions =
; This directive allows you to disable certain classes for security reasons. ; This directive allows you to disable certain classes for security reasons.
; It receives a comma-delimited list of class names. This directive is ; It receives a comma-delimited list of class names.
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-classes ; http://php.net/disable-classes
disable_classes = disable_classes =
@ -611,13 +604,13 @@ html_errors = On
; http://php.net/variables-order ; http://php.net/variables-order
variables_order = "GPCS" variables_order = "GPCS"
; This directive determines which super global data (G,P,C,E & S) should ; This directive determines which super global data (G,P & C) should be
; be registered into the super global array REQUEST. If so, it also determines ; registered into the super global array REQUEST. If so, it also determines
; the order in which that data is registered. The values for this directive are ; the order in which that data is registered. The values for this directive
; specified in the same manner as the variables_order directive, EXCEPT one. ; are specified in the same manner as the variables_order directive,
; Leaving this value empty will cause PHP to use the value set in the ; EXCEPT one. Leaving this value empty will cause PHP to use the value set
; variables_order directive. It does not mean it will leave the super globals ; in the variables_order directive. It does not mean it will leave the super
; array REQUEST empty. ; globals array REQUEST empty.
; Default Value: None ; Default Value: None
; Development Value: "GP" ; Development Value: "GP"
; Production Value: "GP" ; Production Value: "GP"
@ -678,7 +671,7 @@ auto_append_file =
; http://php.net/default-mimetype ; http://php.net/default-mimetype
default_mimetype = "text/html" default_mimetype = "text/html"
; PHP's default character set is set to empty. ; PHP's default character set is set to UTF-8.
; http://php.net/default-charset ; http://php.net/default-charset
default_charset = "UTF-8" default_charset = "UTF-8"
@ -688,22 +681,17 @@ default_charset = "UTF-8"
;internal_encoding = ;internal_encoding =
; PHP input character encoding is set to empty. ; PHP input character encoding is set to empty.
; If empty, default_charset is used.
; http://php.net/input-encoding ; http://php.net/input-encoding
;input_encoding = ;input_encoding =
; PHP output character encoding is set to empty. ; PHP output character encoding is set to empty.
; If empty, default_charset is used.
; mbstring or iconv output handler is used. ; mbstring or iconv output handler is used.
; See also output_buffer. ; See also output_buffer.
; http://php.net/output-encoding ; http://php.net/output-encoding
;output_encoding = ;output_encoding =
; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
; to disable this feature and it will be removed in a future version.
; If post reading is disabled through enable_post_data_reading,
; $HTTP_RAW_POST_DATA is *NOT* populated.
; http://php.net/always-populate-raw-post-data
;always_populate_raw_post_data = -1
;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ; ; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;
@ -951,6 +939,10 @@ cli_server.color = On
; http://php.net/pcre.recursion-limit ; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000 ;pcre.recursion_limit=100000
;Enables or disables JIT compilation of patterns. This requires the PCRE
;library to be compiled with JIT support.
;pcre.jit=1
[Pdo] [Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; http://php.net/pdo-odbc.connection-pooling ; http://php.net/pdo-odbc.connection-pooling
@ -984,7 +976,7 @@ sendmail_path = /usr/sbin/sendmail -t -i
; Force the addition of the specified parameters to be passed as extra parameters ; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of ; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode. ; the 5th parameter to mail().
;mail.force_extra_parameters = ;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
@ -1074,64 +1066,6 @@ ibase.dateformat = "%Y-%m-%d"
; Default time format. ; Default time format.
ibase.timeformat = "%H:%M:%S" ibase.timeformat = "%H:%M:%S"
[MySQL]
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; http://php.net/mysql.allow_local_infile
mysql.allow_local_infile = On
; Allow or prevent persistent links.
; http://php.net/mysql.allow-persistent
mysql.allow_persistent = On
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/mysql.cache_size
mysql.cache_size = 2000
; Maximum number of persistent links. -1 means no limit.
; http://php.net/mysql.max-persistent
mysql.max_persistent = -1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/mysql.max-links
mysql.max_links = -1
; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
; http://php.net/mysql.default-port
mysql.default_port =
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket =
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-host
mysql.default_host =
; Default user for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-user
mysql.default_user =
; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
; http://php.net/mysql.default-password
mysql.default_password =
; Maximum time (in seconds) for connect timeout. -1 means no limit
; http://php.net/mysql.connect-timeout
mysql.connect_timeout = 60
; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
; http://php.net/mysql.trace-mode
mysql.trace_mode = Off
[MySQLi] [MySQLi]
; Maximum number of persistent links. -1 means no limit. ; Maximum number of persistent links. -1 means no limit.
@ -1205,59 +1139,6 @@ mysqlnd.collect_memory_statistics = Off
; http://php.net/mysqlnd.net_read_buffer_size ; http://php.net/mysqlnd.net_read_buffer_size
;mysqlnd.net_read_buffer_size = 32768 ;mysqlnd.net_read_buffer_size = 32768
[OCI8]
; Connection: Enables privileged connections using external
; credentials (OCI_SYSOPER, OCI_SYSDBA)
; http://php.net/oci8.privileged-connect
;oci8.privileged_connect = Off
; Connection: The maximum number of persistent OCI8 connections per
; process. Using -1 means no limit.
; http://php.net/oci8.max-persistent
;oci8.max_persistent = -1
; Connection: The maximum number of seconds a process is allowed to
; maintain an idle persistent connection. Using -1 means idle
; persistent connections will be maintained forever.
; http://php.net/oci8.persistent-timeout
;oci8.persistent_timeout = -1
; Connection: The number of seconds that must pass before issuing a
; ping during oci_pconnect() to check the connection validity. When
; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
; pings completely.
; http://php.net/oci8.ping-interval
;oci8.ping_interval = 60
; Connection: Set this to a user chosen connection class to be used
; for all pooled server requests with Oracle 11g Database Resident
; Connection Pooling (DRCP). To use DRCP, this value should be set to
; the same string for all web servers running the same application,
; the database pool must be configured, and the connection string must
; specify to use a pooled server.
;oci8.connection_class =
; High Availability: Using On lets PHP receive Fast Application
; Notification (FAN) events generated when a database node fails. The
; database must also be configured to post FAN events.
;oci8.events = Off
; Tuning: This option enables statement caching, and specifies how
; many statements to cache. Using 0 disables statement caching.
; http://php.net/oci8.statement-cache-size
;oci8.statement_cache_size = 20
; Tuning: Enables statement prefetching and sets the default number of
; rows that will be fetched automatically after statement execution.
; http://php.net/oci8.default-prefetch
;oci8.default_prefetch = 100
; Compatibility. Using On means oci_close() will not close
; oci_connect() and oci_new_connect() connections.
; http://php.net/oci8.old-oci-close-semantics
;oci8.old_oci_close_semantics = Off
[PostgreSQL] [PostgreSQL]
; Allow or prevent persistent links. ; Allow or prevent persistent links.
; http://php.net/pgsql.allow-persistent ; http://php.net/pgsql.allow-persistent
@ -1286,45 +1167,6 @@ pgsql.ignore_notice = 0
; http://php.net/pgsql.log-notice ; http://php.net/pgsql.log-notice
pgsql.log_notice = 0 pgsql.log_notice = 0
[Sybase-CT]
; Allow or prevent persistent links.
; http://php.net/sybct.allow-persistent
sybct.allow_persistent = On
; Maximum number of persistent links. -1 means no limit.
; http://php.net/sybct.max-persistent
sybct.max_persistent = -1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/sybct.max-links
sybct.max_links = -1
; Minimum server message severity to display.
; http://php.net/sybct.min-server-severity
sybct.min_server_severity = 10
; Minimum client message severity to display.
; http://php.net/sybct.min-client-severity
sybct.min_client_severity = 10
; Set per-context timeout
; http://php.net/sybct.timeout
;sybct.timeout=
;sybct.packet_size
; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
; Default: one minute
;sybct.login_timeout=
; The name of the host you claim to be connecting from, for display by sp_who.
; Default: none
;sybct.hostname=
; Allows you to define how often deadlocks are to be retried. -1 means "forever".
; Default: 0
;sybct.deadlock_retry_count=
[bcmath] [bcmath]
; Number of decimal digits for all bcmath functions. ; Number of decimal digits for all bcmath functions.
; http://php.net/bcmath.scale ; http://php.net/bcmath.scale
@ -1579,64 +1421,27 @@ url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
; http://php.net/session.upload-progress.min-freq ; http://php.net/session.upload-progress.min-freq
;session.upload_progress.min_freq = "1" ;session.upload_progress.min_freq = "1"
[MSSQL]
; Allow or prevent persistent links.
mssql.allow_persistent = On
; Maximum number of persistent links. -1 means no limit.
mssql.max_persistent = -1
; Maximum number of links (persistent+non persistent). -1 means no limit.
mssql.max_links = -1
; Minimum error severity to display.
mssql.min_error_severity = 10
; Minimum message severity to display.
mssql.min_message_severity = 10
; Compatibility mode with old versions of PHP 3.0.
mssql.compatibility_mode = Off
; Connect timeout
;mssql.connect_timeout = 5
; Query timeout
;mssql.timeout = 60
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096
; Limits the number of records in each batch. 0 = all records in one batch.
;mssql.batchsize = 0
; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
;mssql.datetimeconvert = On
; Use NT authentication when connecting to the server
mssql.secure_connection = Off
; Specify max number of processes. -1 = library default
; msdlib defaults to 25
; FreeTDS defaults to 4096
;mssql.max_procs = -1
; Specify client character set.
; If empty or not set the client charset from freetds.conf is used
; This is only used when compiled with FreeTDS
;mssql.charset = "ISO-8859-1"
[Assertion] [Assertion]
; Switch whether to compile assertions at all (to have no overhead at run-time)
; -1: Do not compile at all
; 0: Jump over assertion at run-time
; 1: Execute assertions
; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1)
; Default Value: 1
; Development Value: 1
; Production Value: -1
; http://php.net/zend.assertions
zend.assertions = -1
; Assert(expr); active by default. ; Assert(expr); active by default.
; http://php.net/assert.active ; http://php.net/assert.active
;assert.active = On ;assert.active = On
; Issue a PHP warning for each failed assertion. ; Throw an AssertationException on failed assertions
; http://php.net/assert.exception
;assert.exception = On
; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active)
; http://php.net/assert.warning ; http://php.net/assert.warning
;assert.warning = On ;assert.warning = On
@ -1655,7 +1460,7 @@ mssql.secure_connection = Off
[mbstring] [mbstring]
; language for internal character representation. ; language for internal character representation.
; This affects mb_send_mail() and mbstrig.detect_order. ; This affects mb_send_mail() and mbstring.detect_order.
; http://php.net/mbstring.language ; http://php.net/mbstring.language
;mbstring.language = Japanese ;mbstring.language = Japanese

View File

@ -2,7 +2,11 @@
# PHP is an HTML-embedded scripting language which attempts to make it # PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages. # easy for developers to write dynamically generated webpages.
# #
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so # Cannot load both php5 and php7 modules
<IfModule !mod_php5.c>
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
</IfModule> </IfModule>

183
php.spec
View File

@ -6,29 +6,23 @@
# Please preserve changelog entries # Please preserve changelog entries
# #
# API/ABI check # API/ABI check
%global apiver 20131106 %global apiver 20151012
%global zendver 20131226 %global zendver 20151012
%global pdover 20080721 %global pdover 20150127
# Extension version # Extension version
%global opcachever 7.0.6-dev %global jsonver 1.4.0
# Use for first build of PHP (before pecl/zip and pecl/jsonc)
%global php_bootstrap 0
# Adds -z now to the linker flags # Adds -z now to the linker flags
%global _hardened_build 1 %global _hardened_build 1
# version used for php embedded library soname # version used for php embedded library soname
%global embed_version 5.6 %global embed_version 7.0
%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
# Regression tests take a long time, you can skip 'em with this # Regression tests take a long time, you can skip 'em with this
%if %{php_bootstrap} #global runselftest 0
%global runselftest 0
%else
%{!?runselftest: %global runselftest 1} %{!?runselftest: %global runselftest 1}
%endif
# Use the arch-specific mysql_config binary to avoid mismatch with the # Use the arch-specific mysql_config binary to avoid mismatch with the
# arch detection heuristic used by bindir/mysql_config. # arch detection heuristic used by bindir/mysql_config.
@ -69,7 +63,7 @@
Summary: PHP scripting language for creating dynamic web sites Summary: PHP scripting language for creating dynamic web sites
Name: php Name: php
Version: 5.6.23 Version: 7.0.8
%if 0%{?rcver:1} %if 0%{?rcver:1}
Release: 0.%{rpmrel}.%{rcver}%{?dist} Release: 0.%{rpmrel}.%{rcver}%{?dist}
%else %else
@ -82,10 +76,7 @@ License: PHP and Zend and BSD
Group: Development/Languages Group: Development/Languages
URL: http://www.php.net/ URL: http://www.php.net/
# Need to download official tarball and strip non-free stuff Source0: http://www.php.net/distributions/php-%{version}%{?rcver}.tar.xz
# wget http://www.php.net/distributions/php-%%{version}%%{?rcver}.tar.xz
# ./strip.sh %%{version}
Source0: php-%{version}%{?rcver}-strip.tar.xz
Source1: php.conf Source1: php.conf
Source2: php.ini Source2: php.ini
Source3: macros.php Source3: macros.php
@ -95,28 +86,27 @@ Source6: php-fpm.service
Source7: php-fpm.logrotate Source7: php-fpm.logrotate
Source9: php.modconf Source9: php.modconf
Source10: php.ztsmodconf Source10: php.ztsmodconf
Source11: strip.sh
Source13: nginx-fpm.conf Source13: nginx-fpm.conf
Source14: nginx-php.conf Source14: nginx-php.conf
# Configuration files for some extensions # Configuration files for some extensions
Source50: opcache.ini Source50: 10-opcache.ini
Source51: opcache-default.blacklist Source51: opcache-default.blacklist
# Build fixes # Build fixes
Patch5: php-5.6.3-includedir.patch Patch5: php-7.0.0-includedir.patch
Patch6: php-5.6.3-embed.patch Patch6: php-5.6.3-embed.patch
Patch7: php-5.3.0-recode.patch Patch7: php-5.3.0-recode.patch
Patch8: php-5.6.17-libdb.patch Patch8: php-7.0.2-libdb.patch
# Functional changes # Functional changes
Patch40: php-5.4.0-dlopen.patch Patch40: php-7.0.0-dlopen.patch
Patch42: php-5.6.13-systzdata-v12.patch Patch42: php-7.0.0-systzdata-v13.patch
# See http://bugs.php.net/53436 # See http://bugs.php.net/53436
Patch43: php-5.4.0-phpize.patch Patch43: php-5.4.0-phpize.patch
# Use -lldap_r for OpenLDAP # Use -lldap_r for OpenLDAP
Patch45: php-5.6.3-ldap_r.patch Patch45: php-5.6.3-ldap_r.patch
# Make php_config.h constant across builds # Make php_config.h constant across builds
Patch46: php-5.6.3-fixheader.patch Patch46: php-7.0.0-fixheader.patch
# drop "Configure command" from phpinfo output # drop "Configure command" from phpinfo output
Patch47: php-5.6.3-phpinfo.patch Patch47: php-5.6.3-phpinfo.patch
@ -248,7 +238,6 @@ Provides: php-core = %{version}, php-core%{?_isa} = %{version}
Provides: php-ctype, php-ctype%{?_isa} Provides: php-ctype, php-ctype%{?_isa}
Provides: php-curl, php-curl%{?_isa} Provides: php-curl, php-curl%{?_isa}
Provides: php-date, php-date%{?_isa} Provides: php-date, php-date%{?_isa}
Provides: php-ereg, php-ereg%{?_isa}
Provides: php-exif, php-exif%{?_isa} Provides: php-exif, php-exif%{?_isa}
Provides: php-fileinfo, php-fileinfo%{?_isa} Provides: php-fileinfo, php-fileinfo%{?_isa}
Provides: php-filter, php-filter%{?_isa} Provides: php-filter, php-filter%{?_isa}
@ -267,9 +256,8 @@ Provides: php-sockets, php-sockets%{?_isa}
Provides: php-spl, php-spl%{?_isa} Provides: php-spl, php-spl%{?_isa}
Provides: php-standard = %{version}, php-standard%{?_isa} = %{version} Provides: php-standard = %{version}, php-standard%{?_isa} = %{version}
Provides: php-tokenizer, php-tokenizer%{?_isa} Provides: php-tokenizer, php-tokenizer%{?_isa}
%if ! %{php_bootstrap} # For user experience, those extensions were part of php-common
Requires: php-pecl-jsonc%{?_isa} Requires: php-json%{?_isa} = %{version}-%{release}
%endif
%if %{with_zip} %if %{with_zip}
Provides: php-zip, php-zip%{?_isa} Provides: php-zip, php-zip%{?_isa}
Obsoletes: php-pecl-zip < 1.11 Obsoletes: php-pecl-zip < 1.11
@ -288,13 +276,12 @@ Group: Development/Libraries
Summary: Files needed for building PHP extensions Summary: Files needed for building PHP extensions
Requires: php-cli%{?_isa} = %{version}-%{release}, autoconf, automake Requires: php-cli%{?_isa} = %{version}-%{release}, autoconf, automake
Requires: pcre-devel%{?_isa} Requires: pcre-devel%{?_isa}
Obsoletes: php-pecl-json-devel < %{jsonver}
Obsoletes: php-pecl-jsonc-devel < %{jsonver}
%if %{with_zts} %if %{with_zts}
Provides: php-zts-devel = %{version}-%{release} Provides: php-zts-devel = %{version}-%{release}
Provides: php-zts-devel%{?_isa} = %{version}-%{release} Provides: php-zts-devel%{?_isa} = %{version}-%{release}
%endif %endif
%if ! %{php_bootstrap}
Requires: php-pecl-jsonc-devel%{?_isa}
%endif
%description devel %description devel
The php-devel package contains the files needed for building PHP The php-devel package contains the files needed for building PHP
@ -307,10 +294,10 @@ Group: Development/Languages
License: PHP License: PHP
Requires: php-common%{?_isa} = %{version}-%{release} Requires: php-common%{?_isa} = %{version}-%{release}
Obsoletes: php-pecl-zendopcache Obsoletes: php-pecl-zendopcache
Provides: php-pecl-zendopcache = %{opcachever} Provides: php-pecl-zendopcache = %{version}
Provides: php-pecl-zendopcache%{?_isa} = %{opcachever} Provides: php-pecl-zendopcache%{?_isa} = %{version}
Provides: php-pecl(opcache) = %{opcachever} Provides: php-pecl(opcache) = %{version}
Provides: php-pecl(opcache)%{?_isa} = %{opcachever} Provides: php-pecl(opcache)%{?_isa} = %{version}
%description opcache %description opcache
The Zend OPcache provides faster PHP execution through opcode caching and The Zend OPcache provides faster PHP execution through opcode caching and
@ -371,8 +358,6 @@ Group: Development/Languages
License: PHP License: PHP
Requires: php-pdo%{?_isa} = %{version}-%{release} Requires: php-pdo%{?_isa} = %{version}-%{release}
Provides: php_database Provides: php_database
Provides: php-mysql = %{version}-%{release}
Provides: php-mysql%{?_isa} = %{version}-%{release}
Provides: php-mysqli = %{version}-%{release} Provides: php-mysqli = %{version}-%{release}
Provides: php-mysqli%{?_isa} = %{version}-%{release} Provides: php-mysqli%{?_isa} = %{version}-%{release}
Provides: php-pdo_mysql, php-pdo_mysql%{?_isa} Provides: php-pdo_mysql, php-pdo_mysql%{?_isa}
@ -549,7 +534,6 @@ License: PHP
License: PHP and BSD License: PHP and BSD
%endif %endif
Requires: php-common%{?_isa} = %{version}-%{release} Requires: php-common%{?_isa} = %{version}-%{release}
BuildRequires: t1lib-devel
%if %{with_libgd} %if %{with_libgd}
BuildRequires: gd-devel >= 2.1.0 BuildRequires: gd-devel >= 2.1.0
%else %else
@ -558,7 +542,7 @@ BuildRequires: libjpeg-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
BuildRequires: freetype-devel BuildRequires: freetype-devel
BuildRequires: libXpm-devel BuildRequires: libXpm-devel
BuildRequires: libvpx-devel BuildRequires: libwebp-devel
%endif %endif
%description gd %description gd
@ -625,8 +609,8 @@ BuildRequires: libtidy-devel
The php-tidy package contains a dynamic shared object that will add The php-tidy package contains a dynamic shared object that will add
support for using the tidy library to PHP. support for using the tidy library to PHP.
%package mssql %package pdo-dblib
Summary: MSSQL database module for PHP Summary: PDO driver Microsoft SQL Server and Sybase databases
Group: Development/Languages Group: Development/Languages
# All files licensed under PHP version 3.01 # All files licensed under PHP version 3.01
License: PHP License: PHP
@ -634,11 +618,10 @@ Requires: php-pdo%{?_isa} = %{version}-%{release}
BuildRequires: freetds-devel BuildRequires: freetds-devel
Provides: php-pdo_dblib, php-pdo_dblib%{?_isa} Provides: php-pdo_dblib, php-pdo_dblib%{?_isa}
%description mssql %description pdo-dblib
The php-mssql package contains a dynamic shared object that will The php-pdo-dblib package contains a dynamic shared object
add MSSQL database support to PHP. It uses the TDS (Tabular that implements the PHP Data Objects (PDO) interface to enable access from
DataStream) protocol through the freetds library, hence any PHP to Microsoft SQL Server and Sybase databases through the FreeTDS libary.
database server which supports TDS can be accessed.
%package embedded %package embedded
Summary: PHP library for embedding in applications Summary: PHP library for embedding in applications
@ -700,6 +683,24 @@ BuildRequires: enchant-devel >= 1.2.4
The php-enchant package contains a dynamic shared object that will add The php-enchant package contains a dynamic shared object that will add
support for using the enchant library to PHP. support for using the enchant library to PHP.
%package json
Summary: JavaScript Object Notation extension for PHP
# All files licensed under PHP version 3.0.1
License: PHP
Group: System Environment/Libraries
Requires: php-common%{?_isa} = %{version}-%{release}
Obsoletes: php-pecl-json < %{jsonver}
Obsoletes: php-pecl-jsonc < %{jsonver}
Provides: php-pecl(json) = %{jsonver}
Provides: php-pecl(json)%{?_isa} = %{jsonver}
Provides: php-pecl-json = %{jsonver}
Provides: php-pecl-json%{?_isa} = %{jsonver}
%description json
The php-json package provides an extension that will add
support for JavaScript Object Notation (JSON) to PHP.
%prep %prep
%setup -q -n php-%{version}%{?rcver} %setup -q -n php-%{version}%{?rcver}
@ -732,7 +733,6 @@ httpd -V | grep -q 'threaded:.*yes' && exit 1
# Prevent %%doc confusion over LICENSE files # Prevent %%doc confusion over LICENSE files
cp Zend/LICENSE Zend/ZEND_LICENSE cp Zend/LICENSE Zend/ZEND_LICENSE
cp TSRM/LICENSE TSRM_LICENSE cp TSRM/LICENSE TSRM_LICENSE
cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT
%if ! %{with_libgd} %if ! %{with_libgd}
cp ext/gd/libgd/README libgd_README cp ext/gd/libgd/README libgd_README
cp ext/gd/libgd/COPYING libgd_COPYING cp ext/gd/libgd/COPYING libgd_COPYING
@ -761,6 +761,7 @@ rm ext/date/tests/timezone_version_get_basic1.phpt
rm ext/sockets/tests/mcast_ipv?_recv.phpt rm ext/sockets/tests/mcast_ipv?_recv.phpt
# cause stack exhausion # cause stack exhausion
rm Zend/tests/bug54268.phpt rm Zend/tests/bug54268.phpt
rm Zend/tests/bug68412.phpt
# Safety check for API version change. # Safety check for API version change.
pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h) pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h)
@ -792,11 +793,10 @@ if test "x${vpdo}" != "x%{pdover}"; then
exit 1 exit 1
fi fi
# Check for some extension version ver=$(sed -n '/#define PHP_JSON_VERSION /{s/.* "//;s/".*$//;p}' ext/json/php_json.h)
ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) if test "$ver" != "%{jsonver}"; then
if test "$ver" != "%{opcachever}"; then : Error: Upstream JSON version is now ${ver}, expecting %{jsonver}.
: Error: Upstream OPCACHE version is now ${ver}, expecting %{opcachever}. : Update the %{jsonver} macro and rebuild.
: Update the opcachever macro and rebuild.
exit 1 exit 1
fi fi
@ -821,6 +821,10 @@ echo "d /run/php-fpm 755 root root" >php-fpm.tmpfiles
# Some extensions have their own configuration file # Some extensions have their own configuration file
cp %{SOURCE50} 10-opcache.ini cp %{SOURCE50} 10-opcache.ini
%ifarch x86_64
sed -e '/opcache.huge_code_pages/s/0/1/' -i 10-opcache.ini
%endif
%build %build
# aclocal workaround - to be improved # aclocal workaround - to be improved
@ -875,7 +879,6 @@ ln -sf ../configure
--with-png-dir=%{_prefix} \ --with-png-dir=%{_prefix} \
--with-xpm-dir=%{_prefix} \ --with-xpm-dir=%{_prefix} \
--enable-gd-native-ttf \ --enable-gd-native-ttf \
--with-t1lib=%{_prefix} \
--without-gdbm \ --without-gdbm \
--with-jpeg-dir=%{_prefix} \ --with-jpeg-dir=%{_prefix} \
--with-openssl \ --with-openssl \
@ -906,6 +909,7 @@ pushd build-cgi
build --libdir=%{_libdir}/php \ build --libdir=%{_libdir}/php \
--enable-pcntl \ --enable-pcntl \
--enable-opcache \ --enable-opcache \
--enable-opcache-file \
--enable-phpdbg \ --enable-phpdbg \
--with-imap=shared --with-imap-ssl \ --with-imap=shared --with-imap-ssl \
--enable-mbstring=shared \ --enable-mbstring=shared \
@ -931,7 +935,6 @@ build --libdir=%{_libdir}/php \
--with-xmlrpc=shared \ --with-xmlrpc=shared \
--with-ldap=shared --with-ldap-sasl \ --with-ldap=shared --with-ldap-sasl \
--enable-mysqlnd=shared \ --enable-mysqlnd=shared \
--with-mysql=shared,mysqlnd \
--with-mysqli=shared,mysqlnd \ --with-mysqli=shared,mysqlnd \
--with-mysql-sock=%{mysql_sock} \ --with-mysql-sock=%{mysql_sock} \
--with-interbase=shared,%{_libdir}/firebird \ --with-interbase=shared,%{_libdir}/firebird \
@ -953,6 +956,7 @@ build --libdir=%{_libdir}/php \
--with-pdo-sqlite=shared,%{_prefix} \ --with-pdo-sqlite=shared,%{_prefix} \
--with-pdo-dblib=shared,%{_prefix} \ --with-pdo-dblib=shared,%{_prefix} \
--with-sqlite3=shared,%{_prefix} \ --with-sqlite3=shared,%{_prefix} \
--enable-json=shared \
%if %{with_zip} %if %{with_zip}
--enable-zip=shared \ --enable-zip=shared \
%if %{with_libzip} %if %{with_libzip}
@ -965,7 +969,6 @@ build --libdir=%{_libdir}/php \
--enable-phar=shared \ --enable-phar=shared \
--with-mcrypt=shared,%{_prefix} \ --with-mcrypt=shared,%{_prefix} \
--with-tidy=shared,%{_prefix} \ --with-tidy=shared,%{_prefix} \
--with-mssql=shared,%{_prefix} \
--enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \
--enable-shmop=shared \ --enable-shmop=shared \
--enable-posix=shared \ --enable-posix=shared \
@ -980,6 +983,7 @@ popd
without_shared="--without-gd \ without_shared="--without-gd \
--disable-dom --disable-dba --without-unixODBC \ --disable-dom --disable-dba --without-unixODBC \
--disable-opcache \ --disable-opcache \
--disable-json \
--disable-xmlreader --disable-xmlwriter \ --disable-xmlreader --disable-xmlwriter \
--without-sqlite3 --disable-phar --disable-fileinfo \ --without-sqlite3 --disable-phar --disable-fileinfo \
--without-pspell --disable-wddx \ --without-pspell --disable-wddx \
@ -993,7 +997,7 @@ without_shared="--without-gd \
pushd build-apache pushd build-apache
build --with-apxs2=%{_httpd_apxs} \ build --with-apxs2=%{_httpd_apxs} \
--libdir=%{_libdir}/php \ --libdir=%{_libdir}/php \
--without-mysql \ --without-mysqli \
--disable-pdo \ --disable-pdo \
${without_shared} ${without_shared}
popd popd
@ -1004,16 +1008,16 @@ build --enable-fpm \
--with-fpm-acl \ --with-fpm-acl \
--with-fpm-systemd \ --with-fpm-systemd \
--libdir=%{_libdir}/php \ --libdir=%{_libdir}/php \
--without-mysql \ --without-mysqli \
--disable-pdo \ --disable-pdo \
${without_shared} ${without_shared}
popd popd
# Build for inclusion as embedded script language into applications, # Build for inclusion as embedded script language into applications,
# /usr/lib[64]/libphp5.so # /usr/lib[64]/libphp7.so
pushd build-embedded pushd build-embedded
build --enable-embed \ build --enable-embed \
--without-mysql --disable-pdo \ --without-mysqli --disable-pdo \
${without_shared} ${without_shared}
popd popd
@ -1030,6 +1034,7 @@ build --includedir=%{_includedir}/php-zts \
--with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \
--enable-pcntl \ --enable-pcntl \
--enable-opcache \ --enable-opcache \
--enable-opcache-file \
--with-imap=shared --with-imap-ssl \ --with-imap=shared --with-imap-ssl \
--enable-mbstring=shared \ --enable-mbstring=shared \
--enable-mbregex \ --enable-mbregex \
@ -1054,7 +1059,6 @@ build --includedir=%{_includedir}/php-zts \
--with-xmlrpc=shared \ --with-xmlrpc=shared \
--with-ldap=shared --with-ldap-sasl \ --with-ldap=shared --with-ldap-sasl \
--enable-mysqlnd=shared \ --enable-mysqlnd=shared \
--with-mysql=shared,mysqlnd \
--with-mysqli=shared,mysqlnd \ --with-mysqli=shared,mysqlnd \
--with-mysql-sock=%{mysql_sock} \ --with-mysql-sock=%{mysql_sock} \
--enable-mysqlnd-threading \ --enable-mysqlnd-threading \
@ -1077,6 +1081,7 @@ build --includedir=%{_includedir}/php-zts \
--with-pdo-sqlite=shared,%{_prefix} \ --with-pdo-sqlite=shared,%{_prefix} \
--with-pdo-dblib=shared,%{_prefix} \ --with-pdo-dblib=shared,%{_prefix} \
--with-sqlite3=shared,%{_prefix} \ --with-sqlite3=shared,%{_prefix} \
--enable-json=shared \
%if %{with_zip} %if %{with_zip}
--enable-zip=shared \ --enable-zip=shared \
%if %{with_libzip} %if %{with_libzip}
@ -1089,7 +1094,6 @@ build --includedir=%{_includedir}/php-zts \
--enable-phar=shared \ --enable-phar=shared \
--with-mcrypt=shared,%{_prefix} \ --with-mcrypt=shared,%{_prefix} \
--with-tidy=shared,%{_prefix} \ --with-tidy=shared,%{_prefix} \
--with-mssql=shared,%{_prefix} \
--enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \
--enable-shmop=shared \ --enable-shmop=shared \
--enable-posix=shared \ --enable-posix=shared \
@ -1108,7 +1112,7 @@ build --with-apxs2=%{_httpd_apxs} \
--libdir=%{_libdir}/php-zts \ --libdir=%{_libdir}/php-zts \
--enable-maintainer-zts \ --enable-maintainer-zts \
--with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \
--without-mysql \ --without-mysqli \
--disable-pdo \ --disable-pdo \
${without_shared} ${without_shared}
popd popd
@ -1172,18 +1176,18 @@ install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php
# install the DSO # install the DSO
install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir} install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir}
install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir} install -m 755 build-apache/libs/libphp7.so $RPM_BUILD_ROOT%{_httpd_moddir}
%if %{with_zts} %if %{with_zts}
# install the ZTS DSO # install the ZTS DSO
install -m 755 build-zts/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir}/libphp5-zts.so install -m 755 build-zts/libs/libphp7.so $RPM_BUILD_ROOT%{_httpd_moddir}/libphp7-zts.so
%endif %endif
# Apache config fragment # Apache config fragment
# Dual config file with httpd >= 2.4 (fedora >= 18) # Dual config file with httpd >= 2.4 (fedora >= 18)
install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/15-php.conf
%if %{with_zts} %if %{with_zts}
cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_modconfdir}/15-php.conf
%endif %endif
install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf
@ -1195,6 +1199,7 @@ install -m 755 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php
install -m 755 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/peclxml install -m 755 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/peclxml
install -m 700 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/session install -m 700 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/session
install -m 700 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/wsdlcache install -m 700 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/wsdlcache
install -m 700 -d $RPM_BUILD_ROOT%{_sharedstatedir}/php/opcache
# PHP-FPM stuff # PHP-FPM stuff
# Log # Log
@ -1205,6 +1210,7 @@ install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf
mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default . mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default .
mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf.default .
# tmpfiles.d # tmpfiles.d
install -m 755 -d $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d install -m 755 -d $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/php-fpm.conf install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/php-fpm.conf
@ -1220,8 +1226,8 @@ install -D -m 644 %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/php-fpm
install -D -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/default.d/php.conf install -D -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/default.d/php.conf
# Generate files lists and stub .ini files for each subpackage # Generate files lists and stub .ini files for each subpackage
for mod in pgsql odbc ldap snmp xmlrpc imap \ for mod in pgsql odbc ldap snmp xmlrpc imap json \
mysqlnd mysql mysqli pdo_mysql \ mysqlnd mysqli pdo_mysql \
mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \ mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \
simplexml bz2 calendar ctype exif ftp gettext gmp iconv \ simplexml bz2 calendar ctype exif ftp gettext gmp iconv \
sockets tokenizer opcache \ sockets tokenizer opcache \
@ -1232,14 +1238,14 @@ for mod in pgsql odbc ldap snmp xmlrpc imap \
interbase pdo_firebird \ interbase pdo_firebird \
sqlite3 \ sqlite3 \
enchant phar fileinfo intl \ enchant phar fileinfo intl \
mcrypt tidy pdo_dblib mssql pspell curl wddx \ mcrypt tidy pdo_dblib pspell curl wddx \
posix shmop sysvshm sysvsem sysvmsg recode xml \ posix shmop sysvshm sysvsem sysvmsg recode xml \
; do ; do
case $mod in case $mod in
opcache) opcache)
# Zend extensions # Zend extensions
ini=10-${mod}.ini;; ini=10-${mod}.ini;;
pdo_*|mysql|mysqli|wddx|xmlreader|xmlrpc) pdo_*|mysqli|wddx|xmlreader|xmlrpc)
# Extensions with dependencies on 20-* # Extensions with dependencies on 20-*
ini=30-${mod}.ini;; ini=30-${mod}.ini;;
*) *)
@ -1277,13 +1283,11 @@ cat files.dom files.xsl files.xml{reader,writer} files.wddx \
files.simplexml >> files.xml files.simplexml >> files.xml
# mysqlnd # mysqlnd
cat files.mysql \ cat files.mysqli \
files.mysqli \
files.pdo_mysql \ files.pdo_mysql \
>> files.mysqlnd >> files.mysqlnd
# Split out the PDO modules # Split out the PDO modules
cat files.pdo_dblib >> files.mssql
cat files.pdo_pgsql >> files.pgsql cat files.pdo_pgsql >> files.pgsql
cat files.pdo_odbc >> files.odbc cat files.pdo_odbc >> files.odbc
cat files.pdo_firebird >> files.interbase cat files.pdo_firebird >> files.interbase
@ -1328,7 +1332,7 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \
$RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \ $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \
$RPM_BUILD_ROOT%{_bindir}/{phptar} \ $RPM_BUILD_ROOT%{_bindir}/{phptar} \
$RPM_BUILD_ROOT%{_datadir}/pear \ $RPM_BUILD_ROOT%{_datadir}/pear \
$RPM_BUILD_ROOT%{_libdir}/libphp5.la $RPM_BUILD_ROOT%{_libdir}/libphp7.la
# Remove irrelevant docs # Remove irrelevant docs
rm -f README.{Zeus,QNX,CVS-RULES} rm -f README.{Zeus,QNX,CVS-RULES}
@ -1347,19 +1351,20 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%postun embedded -p /sbin/ldconfig %postun embedded -p /sbin/ldconfig
%files %files
%{_httpd_moddir}/libphp5.so %{_httpd_moddir}/libphp7.so
%if %{with_zts} %if %{with_zts}
%{_httpd_moddir}/libphp5-zts.so %{_httpd_moddir}/libphp7-zts.so
%endif %endif
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/session %attr(0770,root,apache) %dir %{_sharedstatedir}/php/session
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/wsdlcache %attr(0770,root,apache) %dir %{_sharedstatedir}/php/wsdlcache
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/opcache
%config(noreplace) %{_httpd_confdir}/php.conf %config(noreplace) %{_httpd_confdir}/php.conf
%config(noreplace) %{_httpd_modconfdir}/10-php.conf %config(noreplace) %{_httpd_modconfdir}/15-php.conf
%{_httpd_contentdir}/icons/php.gif %{_httpd_contentdir}/icons/php.gif
%files common -f files.common %files common -f files.common
%doc CODING_STANDARDS CREDITS EXTENSIONS NEWS README* %doc CODING_STANDARDS CREDITS EXTENSIONS NEWS README*
%license LICENSE Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT %license LICENSE Zend/ZEND_* TSRM_LICENSE
%license libmagic_LICENSE %license libmagic_LICENSE
%license phar_LICENSE %license phar_LICENSE
%doc php.ini-* %doc php.ini-*
@ -1395,15 +1400,20 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%doc sapi/cgi/README* sapi/cli/README %doc sapi/cgi/README* sapi/cli/README
%files dbg %files dbg
%{_bindir}/phpdbg
%doc sapi/phpdbg/{README.md,CREDITS} %doc sapi/phpdbg/{README.md,CREDITS}
%{_bindir}/phpdbg
%{_mandir}/man1/phpdbg.1* %{_mandir}/man1/phpdbg.1*
%if %{with_zts}
%{_bindir}/zts-phpdbg
%{_mandir}/man1/zts-phpdbg.1*
%endif
%files fpm %files fpm
%doc php-fpm.conf.default %doc php-fpm.conf.default www.conf.default
%license fpm_LICENSE %license fpm_LICENSE
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/session %attr(0770,root,apache) %dir %{_sharedstatedir}/php/session
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/wsdlcache %attr(0770,root,apache) %dir %{_sharedstatedir}/php/wsdlcache
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/opcache
%config(noreplace) %{_httpd_confdir}/php.conf %config(noreplace) %{_httpd_confdir}/php.conf
%config(noreplace) %{_sysconfdir}/php-fpm.conf %config(noreplace) %{_sysconfdir}/php-fpm.conf
%config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf %config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf
@ -1438,8 +1448,8 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%{_rpmconfigdir}/macros.d/macros.php %{_rpmconfigdir}/macros.d/macros.php
%files embedded %files embedded
%{_libdir}/libphp5.so %{_libdir}/libphp7.so
%{_libdir}/libphp5-%{embed_version}.so %{_libdir}/libphp7-%{embed_version}.so
%files pgsql -f files.pgsql %files pgsql -f files.pgsql
%files odbc -f files.odbc %files odbc -f files.odbc
@ -1465,7 +1475,7 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%files pdo -f files.pdo %files pdo -f files.pdo
%files mcrypt -f files.mcrypt %files mcrypt -f files.mcrypt
%files tidy -f files.tidy %files tidy -f files.tidy
%files mssql -f files.mssql %files pdo-dblib -f files.pdo_dblib
%files pspell -f files.pspell %files pspell -f files.pspell
%files intl -f files.intl %files intl -f files.intl
%files process -f files.process %files process -f files.process
@ -1476,9 +1486,16 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%files opcache -f files.opcache %files opcache -f files.opcache
%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist %config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist
%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist %config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist
%files json -f files.json
%changelog %changelog
* Wed Jun 22 2016 Remi Collet <remi@fedoraproject.org> 7.0.8-1
- Update to 7.0.8 - http://www.php.net/releases/7_0_8.php
- https://fedoraproject.org/wiki/Changes/php70
- drop ereg, mysql, mssql extensions
- add json extension
* Wed Jun 22 2016 Remi Collet <remi@fedoraproject.org> 5.6.23-1 * Wed Jun 22 2016 Remi Collet <remi@fedoraproject.org> 5.6.23-1
- Update to 5.6.23 - http://www.php.net/releases/5_6_23.php - Update to 5.6.23 - http://www.php.net/releases/5_6_23.php

View File

@ -1,4 +1,6 @@
<IfModule !prefork.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
<IfModule !mod_php5.c>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>
</IfModule>

View File

@ -1 +1 @@
1653f194fb5887f1cdbe6b751ee9cd3d php-5.6.23-strip.tar.xz c4438583c95d3ddf746929d7fcb61045 php-7.0.8.tar.xz

View File

@ -1,25 +0,0 @@
#!/bin/sh
if [ -z "$1" ]; then
echo "usage $0 version"
exit 1;
fi
if [ ! -f php-$1.tar.xz ]; then
echo "missing php-$1.tar.xz archive"
exit 2;
fi
old=$(mktemp)
new=$(mktemp)
echo "Untar..."
tar xf php-$1.tar.xz
rm -rf php-$1/ext/json
echo "Tar..."
tar cJf php-$1-strip.tar.xz php-$1
echo "Diff..."
tar tf php-$1.tar.xz | sort >$old
tar tf php-$1-strip.tar.xz | sort >$new
diff $old $new
rm -f $old $new