i did just some basic testing… and managed to compile the php7.3 binary – but the make install failed.

it would help to have multiple cores…

hostnamectl; # tested with

   Static hostname: CentosSlave
         Icon name: computer-vm
           Chassis: vm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.26.2.el7.x86_64
      Architecture: x86-64

httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Apr 12 2017 21:03:28

mkdir /usr/src/php/;
cd /usr/src/php/;

yum install git autoconf libxml2-devel bison gcc byacc; # install software

git clone https://github.com/php/php-src.git; # get latest sources

cd php-src/

make clean;
make -j4; # start make with 4 threads, this will take a while
make install; # will install and even modify httpd.config/apache2.config 

# gave me this error
Warning: fopen(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in /usr/src/php/php-src/pear/fetch.php on line 66

Warning: fopen(https://pear.php.net/install-pear-nozlib.phar): failed to open stream: No such file or directory in /usr/src/php/php-src/pear/fetch.php on line 66

fopen(https://pear.php.net/install-pear-nozlib.phar): failed to open stream: No such file or directory
make: *** [install-pear] Error 1

php -v
PHP 7.3.0-dev (cli) (built: Jul 28 2017 08:33:04) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2017 Zend Technologies

so the binary itself was compiled successfully, but the install process is not complete also the integration into apache2 not.

tail -f /var/log/httpd/* &; # it might help to keep an eye on the logs

apachectl configtest; # test apache2's config
 apachectl restart; # restart apche2


this is a more complete guide i guess -> http://www.shaunfreeman.name/compiling-php-7-on-centos/

… nope, following the above howto make -j8 returned this error:

/root/php-src/ext/mbstring/php_unicode.c: In function ‘convert_case_filter’:
/root/php-src/ext/mbstring/php_unicode.c:371:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
 for (unsigned i = 0; i < len; i++) {
/root/php-src/ext/mbstring/php_unicode.c:371:2: note: use option -std=c99 or -std=gnu99 to compile your code
make: *** [ext/mbstring/php_unicode.lo] Error 1
make: *** Waiting for unfinished jobs....

what is going on in the sources? – http://git.php.net/

todo – https://wiki.php.net/rfc/voting

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!