Hi again guys,
I finally activated PhpSwitcher in production environment, it works perfectly for versions 5.3, 5.4 and 5.5.
Version 7.0 works but not completely. I managed to activate the ioncube loader for PHP 7.x (still beta but working).
Unfortunately I also need the uploadprogress mudule that is installed through pecl. It works perfectly for other PHp versions, but not for version 7.
There's the error:
Code
- root@webserver ~ # /opt/phpswitcher/php7.0/bin/pecl install uploadprogress
- downloading uploadprogress-1.0.3.1.tgz ...
- Starting to download uploadprogress-1.0.3.1.tgz (9,040 bytes)
- .....done: 9,040 bytes
- 4 source files, building
- running: phpize
- Configuring for:
- PHP Api Version: 20151012
- Zend Module Api No: 20151012
- Zend Extension Api No: 320151012
- building in /tmp/pear/temp/pear-build-rooti93Ml8/uploadprogress-1.0.3.1
- running: /tmp/pear/temp/uploadprogress/configure --with-php-config=/opt/phpswitcher/php7.0/bin/php-config
- checking for grep that handles long lines and -e... /bin/grep
- checking for egrep... /bin/grep -E
- checking for a sed that does not truncate output... /bin/sed
- checking for cc... cc
- checking whether the C compiler works... yes
- checking for C compiler default output file name... a.out
- checking for suffix of executables...
- checking whether we are cross compiling... no
- checking for suffix of object files... o
- checking whether we are using the GNU C compiler... yes
- checking whether cc accepts -g... yes
- checking for cc option to accept ISO C89... none needed
- checking how to run the C preprocessor... cc -E
- checking for icc... no
- checking for suncc... no
- checking whether cc understands -c and -o together... yes
- checking for system library directory... lib
- checking if compiler supports -R... no
- checking if compiler supports -Wl,-rpath,... yes
- checking build system type... x86_64-unknown-linux-gnu
- checking host system type... x86_64-unknown-linux-gnu
- checking target system type... x86_64-unknown-linux-gnu
- checking for PHP prefix... /opt/phpswitcher/php7.0
- checking for PHP includes... -I/opt/phpswitcher/php7.0/include/php -I/opt/phpswitcher/php7.0/include/php/main -I/opt/phpswitcher/php7.0/include/php/TSRM -I/opt/phpswitcher/php7.0/include/php/Zend -I/opt/phpswitcher/php7.0/include/php/ext -I/opt/phpswitcher/php7.0/include/php/ext/date/lib
- checking for PHP extension directory... /opt/phpswitcher/php7.0/lib/php/20151012
- checking for PHP installed headers prefix... /opt/phpswitcher/php7.0/include/php
- checking if debug is enabled... no
- checking if zts is enabled... no
- checking for re2c... re2c
- checking for re2c version... 0.13.5 (ok)
- checking for gawk... no
- checking for nawk... nawk
- checking if nawk is broken... no
- checking whether to enable uploadprogress functions... yes, shared
- checking how to print strings... printf
- checking for a sed that does not truncate output... (cached) /bin/sed
- checking for fgrep... /bin/grep -F
- checking for ld used by cc... /usr/bin/ld
- checking if the linker (/usr/bin/ld) is GNU ld... yes
- checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
- checking the name lister (/usr/bin/nm -B) interface... BSD nm
- checking whether ln -s works... yes
- checking the maximum length of command line arguments... 1572864
- checking whether the shell understands some XSI constructs... yes
- checking whether the shell understands "+="... yes
- checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
- checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
- checking for /usr/bin/ld option to reload object files... -r
- checking for objdump... objdump
- checking how to recognize dependent libraries... pass_all
- checking for dlltool... no
- checking how to associate runtime and link libraries... printf %s\n
- checking for ar... ar
- checking for archiver @FILE support... @
- checking for strip... strip
- checking for ranlib... ranlib
- checking for gawk... (cached) nawk
- checking command to parse /usr/bin/nm -B output from cc object... ok
- checking for sysroot... no
- checking for mt... mt
- checking if mt is a manifest tool... no
- checking for ANSI C header files... yes
- checking for sys/types.h... yes
- checking for sys/stat.h... yes
- checking for stdlib.h... yes
- checking for string.h... yes
- checking for memory.h... yes
- checking for strings.h... yes
- checking for inttypes.h... yes
- checking for stdint.h... yes
- checking for unistd.h... yes
- checking for dlfcn.h... yes
- checking for objdir... .libs
- checking if cc supports -fno-rtti -fno-exceptions... no
- checking for cc option to produce PIC... -fPIC -DPIC
- checking if cc PIC flag -fPIC -DPIC works... yes
- checking if cc static flag -static works... yes
- checking if cc supports -c -o file.o... yes
- checking if cc supports -c -o file.o... (cached) yes
- checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
- checking whether -lc should be explicitly linked in... no
- checking dynamic linker characteristics... GNU/Linux ld.so
- checking how to hardcode library paths into programs... immediate
- checking whether stripping libraries is possible... yes
- checking if libtool supports shared libraries... yes
- checking whether to build shared libraries... yes
- checking whether to build static libraries... no
- configure: creating ./config.status
- config.status: creating config.h
- config.status: executing libtool commands
- running: make
- /bin/bash /tmp/pear/temp/pear-build-rooti93Ml8/uploadprogress-1.0.3.1/libtool --mode=compile cc -I. -I/tmp/pear/temp/uploadprogress -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooti93Ml8/uploadprogress-1.0.3.1/include -I/tmp/pear/temp/pear-build-rooti93Ml8/uploadprogress-1.0.3.1/main -I/tmp/pear/temp/uploadprogress -I/opt/phpswitcher/php7.0/include/php -I/opt/phpswitcher/php7.0/include/php/main -I/opt/phpswitcher/php7.0/include/php/TSRM -I/opt/phpswitcher/php7.0/include/php/Zend -I/opt/phpswitcher/php7.0/include/php/ext -I/opt/phpswitcher/php7.0/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/uploadprogress/uploadprogress.c -o uploadprogress.lo
- libtool: compile: cc -I. -I/tmp/pear/temp/uploadprogress -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooti93Ml8/uploadprogress-1.0.3.1/include -I/tmp/pear/temp/pear-build-rooti93Ml8/uploadprogress-1.0.3.1/main -I/tmp/pear/temp/uploadprogress -I/opt/phpswitcher/php7.0/include/php -I/opt/phpswitcher/php7.0/include/php/main -I/opt/phpswitcher/php7.0/include/php/TSRM -I/opt/phpswitcher/php7.0/include/php/Zend -I/opt/phpswitcher/php7.0/include/php/ext -I/opt/phpswitcher/php7.0/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/uploadprogress/uploadprogress.c -fPIC -DPIC -o .libs/uploadprogress.o
- /tmp/pear/temp/uploadprogress/uploadprogress.c: In function 'uploadprogress_php_rfc1867_file':
- /tmp/pear/temp/uploadprogress/uploadprogress.c:160:31: error: 'ENFORCE_SAFE_MODE' undeclared (first use in this function)
- int options = ENFORCE_SAFE_MODE;
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c:160:31: note: each undeclared identifier is reported only once for each function it appears in
- /tmp/pear/temp/uploadprogress/uploadprogress.c: In function 'uploadprogress_file_php_get_info':
- /tmp/pear/temp/uploadprogress/uploadprogress.c:420:57: error: macro "add_assoc_string" passed 4 arguments, but takes just 3
- add_assoc_string( return_value, k, v, 1 );
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c:420:17: error: 'add_assoc_string' undeclared (first use in this function)
- add_assoc_string( return_value, k, v, 1 );
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c: In function 'uploadprogress_file_php_get_contents':
- /tmp/pear/temp/uploadprogress/uploadprogress.c:437:19: error: 'ENFORCE_SAFE_MODE' undeclared (first use in this function)
- int options = ENFORCE_SAFE_MODE;
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c:458:71: error: macro "php_stream_copy_to_mem" passed 4 arguments, but takes just 3
- if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) {
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c:458:20: error: 'php_stream_copy_to_mem' undeclared (first use in this function)
- if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) {
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c:466:44: error: macro "RETVAL_STRINGL" passed 3 arguments, but takes just 2
- RETVAL_STRINGL(contents, len, 0);
- ^
- /tmp/pear/temp/uploadprogress/uploadprogress.c:466:13: error: 'RETVAL_STRINGL' undeclared (first use in this function)
- RETVAL_STRINGL(contents, len, 0);
- ^
- Makefile:194: recipe for target 'uploadprogress.lo' failed
- make: *** [uploadprogress.lo] Error 1
- ERROR: `make' failed
I'm not sure is a problem of the plugin, but anyway I'd like to resolve the issue.
Some help from devs ?
Thank you very much, bye Kess.
Environment:
Debian Jessie, MySQL 5.5, Apache 2.4.10, php 5.6 fpm
No exothic configurations