kasparsd / php-7-debian Goto Github PK
View Code? Open in Web Editor NEWInstall PHP 7 on Debian/Ubuntu
Install PHP 7 on Debian/Ubuntu
Hello,
Thank you for the script. I manage to get it work, but facing some problem when i want to install memcached.
When executing this command : ./configure --with-php-config=/usr/local/php7/bin/php-config
I get this kind of error :
checking for libmemcached location... configure: error: memcached support requires libmemcached. Use --with-libmemcached-dir=
to specify the prefix where libmemcached headers and library are locatedAny idea how to solve it?
Thanks
I have apache2 running, build and installed php7 cli and fpm. When i open a php page apache renders the code as text. How do i tell apache to use the newly installed php7? I'm on Wheezy btw.
Not sure what the issue is here, but install-pear fails to connect to the pear.php.net domain.
...
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/
Installing PHP CLI binary: /usr/local/php7/bin/
Installing PHP CLI man page: /usr/local/php7/php/man/man1/
Installing PHP FPM binary: /usr/local/php7/sbin/
Installing PHP FPM defconfig: /usr/local/php7/etc/
Installing PHP FPM man page: /usr/local/php7/php/man/man8/
Installing PHP FPM status page: /usr/local/php7/php/php/fpm/
Installing phpdbg binary: /usr/local/php7/bin/
Installing phpdbg man page: /usr/local/php7/php/man/man1/
Installing PHP CGI binary: /usr/local/php7/bin/
Installing PHP CGI man page: /usr/local/php7/php/man/man1/
Installing build environment: /usr/local/php7/lib/php/build/
Installing header files: /usr/local/php7/include/php/
Installing helper programs: /usr/local/php7/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php7/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php7/lib/php/
--2019-02-07 20:51:49-- https://pear.php.net/install-pear-nozlib.phar
Resolving pear.php.net (pear.php.net)... 109.203.101.62
Connecting to pear.php.net (pear.php.net)|109.203.101.62|:443... failed: Connection refused.
Makefile:507: recipe for target 'install-pear' failed
make: *** [install-pear] Error 4
Hello,
I think you could update now the fetch version to 7.1.9
Cheers,
Fernand
I have followed the instructions and when running the ./build.sh command it runs a series of checks and ends on this error:
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `install'. Stop.
Not sure how to proceed.
git clone https://github.com/mkoppanen/imagick.git cd imagick git checkout phpseven
Seems that https://github.com/mkoppanen/imagick/tree/phpseven is outdated and was used for development.
Current master
passes php 7.0 and 7.1 tests https://travis-ci.org/mkoppanen/imagick
I had to run install.sh
as root with sudo. Is this a problem of my Debian configuration, or is that a common issue?
While installing on debian/jessie64:
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
https://bugs.php.net/bug.php?id=72360
Maybe we should inform user if system has openssl 1.1.0 headers and use the php7/master for temporary solution?
Hi! How to configure nginx with php-fpm?
/root/php-7-debian/php-src/ext/intl/collator/collator_sort.c: In function ‘zif_collator_sort’:
/root/php-7-debian/php-src/ext/intl/collator/collator_sort.c:349:33: error: ‘TRUE’ undeclared (first use in this function)
349 | collator_sort_internal( TRUE, INTERNAL_FUNCTION_PARAM_PASSTHRU );
| ^~~~
/root/php-7-debian/php-src/ext/intl/collator/collator_sort.c:349:33: note: each undeclared identifier is reported only once for each function it appears in
/root/php-7-debian/php-src/ext/intl/collator/collator_sort.c: In function ‘zif_collator_asort’:
/root/php-7-debian/php-src/ext/intl/collator/collator_sort.c:543:33: error: ‘FALSE’ undeclared (first use in this function)
543 | collator_sort_internal( FALSE, INTERNAL_FUNCTION_PARAM_PASSTHRU );
| ^~~~~
make: *** [Makefile:1055: ext/intl/collator/collator_sort.lo] Error 1
Hello!
I cannot for the life of me work out how to get it to work with Apache 2! Any guidance would be immensely helpful.
Many thanks,
In file included from /root/php-7-debian/php-src/ext/intl/breakiterator/breakiterator_methods.cpp:22:
/root/php-7-debian/php-src/ext/intl/breakiterator/codepointiterator_internal.h:42:31: error: conflicting return type specified for ‘virtual UBool PHP::CodePointBreakIterator::operator==(const icu_72::BreakIterator&) const’
42 | virtual UBool operator==(const BreakIterator& that) const;
| ^~~~~~~~
In file included from /root/php-7-debian/php-src/ext/intl/breakiterator/breakiterator_methods.cpp:21:
/usr/include/unicode/brkiter.h:127:18: note: overridden function is ‘virtual bool icu_72::BreakIterator::operator==(const icu_72::BreakIterator&) const’
127 | virtual bool operator==(const BreakIterator&) const = 0;
| ^~~~~~~~
In file included from /root/php-7-debian/php-src/ext/intl/breakiterator/breakiterator_class.cpp:23:
/root/php-7-debian/php-src/ext/intl/breakiterator/codepointiterator_internal.h:42:31: error: conflicting return type specified for ‘virtual UBool PHP::CodePointBreakIterator::operator==(const icu_72::BreakIterator&) const’
42 | virtual UBool operator==(const BreakIterator& that) const;
| ^~~~~~~~
In file included from /root/php-7-debian/php-src/ext/intl/breakiterator/breakiterator_class.cpp:21:
/usr/include/unicode/brkiter.h:127:18: note: overridden function is ‘virtual bool icu_72::BreakIterator::operator==(const icu_72::BreakIterator&) const’
127 | virtual bool operator==(const BreakIterator&) const = 0;
| ^~~~~~~~
make: *** [Makefile:1183: ext/intl/breakiterator/breakiterator_methods.lo] Error 1
Hi.. this is not a bug report, but a trivial support question..
Let's say I need to move from php 7.1.2 to php 7.1.5 for example, how do I need to proceed?
Should I re-run the all the build.sh
and install.sh
again and again for successive new releases?
Asking because inside the build.sh
script I cannot see any code block which caters for that. Each run is a new run.
Thanks
Hi,
Thanks for this script, it works perfectly, but I have some problems. I want to install pthreads with pecl, but is still wants to use php 5.6. How can I set php 7 as the default version, so pecl install and cli php will use that.
Thanks!
Clean install debian 8.2.0 amd64
install git, clone, run ./build.sh:
configure: error: Cannot find OpenSSL's <evp.h>
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
Thank you for this script!
After trying
$ ./build.sh
I get the error:
ERROR: cannot verify pear.php.net's certificate, issued by ‘/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA’:
Unable to locally verify the issuer's authority.
To connect to pear.php.net insecurely, use `--no-check-certificate'.
What am I doing wrong?
The build.sh
script did not work for me because of this https://github.com/kasparsd/php-7-debian/blob/master/build.sh#L34 comment. After removing it, everything went well. Is it supposed to be there or it was put there by mistake?
./configure "$CONFIGURE_STRING" returns:
Notice: Following unknown configure options were used:
--with-mcrypt
--with-mysql=mysqlnd
--with-fpm-user=www-data
--with-fpm-group=www-data'
Check './configure --help' for available options
make install returns:
Installing shared extensions: /usr/local/php7 --enable-huge-code-pages --with-config-file-scan-dir=/usr/local/php7/etc/conf.d --enable-bcmath --with-bz2 --enable-calendar --enable-intl --enable-exif --enable-dba --enable-ftp --with-gettext --with-gd --with-jpeg-dir --enable-mbstring --with-mcrypt --with-mhash --enable-mysqlnd --with-mysql=mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --enable-pcntl --with-pspell --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-zlib --enable-zip --with-readline --with-curl --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data/lib/php/extensions/no-debug-non-zts-20170718/
cp: unrecognized option '--with-fpm-group=www-data/lib/php/extensions/no-debug-non-zts-20170718/#INST@24415#'
Try `cp --help' for more information.
make: *** [install-modules] Error 1
What could it be?
To finish the build i put --without-pear \ and finish the install.
He could not catch the following error.
[20-Jan-2017 16:53:30] NOTICE: PHP message: PHP Fatal error: The fpm-fcgi SAPI is not supported by pthreads in Unknown on line 0 [20-Jan-2017 16:53:30] NOTICE: PHP message: PHP Fatal error: Unable to start pthreads module in Unknown on line 0
Os: Debian 8
Hi and sorry for my english (I'm french).
I follow all step to install php7
I'm on a Debian Wheezy whith Apache 2.2 installed.
It seems to be working but apache is still using the old version (php 5.6.35) even after restart.
how can i say apache to use php7 and not the old version ?
Thanks by advance.
hi,
I have finished the install ,this script is great!
but my composer install tips me need GMP module enabled,any suggestion?! i checked the php.ini & search in Google,can't find a solution.or the gmp module can't compatible with php7.2?!
Regards
Qin
Use --with-libzip
and install libzip-dev
as a dependancy.
checking libzip... no
checking for the location of zlib... /usr
configure: WARNING: ========================================================
configure: WARNING: Use of bundled libzip is deprecated and will be removed.
configure: WARNING: Some features such as encryption and bzip2 are not available.
configure: WARNING: Use system library and --with-libzip is recommended.
configure: WARNING: ========================================================
Great installer script you've got.
Once issue I'm having is the php7-fpm service isn't available when using sudo. For instance, I can type in php7-fpm
on the command line and it will attempt to execute but doesn't have the correct privileges. As soon as I run sudo php7-fpm
, or login as root and do the same it says command not found. Any ideas?
In PHP 7.2 the following configuration options are no longer supported
with-mcrypt
with-mysql
Should these be replaced with something else?
Could you please add the gd FreeType support.
libfreetype6-dev
--with-freetype-dir
Best Regards.
I was getting an error "Permission denied: FastCGI: failed to connect to server "/usr/lib/cgi-bin/php.fcgi": connect() failed" when setting up php7-fpm with Apache2
Solved using directions here: "https://stackoverflow.com/a/25418157/5815000"
listen.owner = www-data
listen.group = www-data
listen.mode = 066
Also had to change "listen" to set a sock instead of port. Here´s what worked out for me:
/etc/apache2/conf-available/php-fpm.conf
(had to create dir /run/php/ )
<IfModule mod_fastcgi.c>
AddHandler php.fcgi .php
Action php.fcgi /php.fcgi
Alias /php.fcgi /usr/lib/cgi-bin/php.fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php.fcgi -socket /run/php/php-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
/usr/local/php7/etc/php-fpm.d/www.conf
[www]
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
;listen = 127.0.0.1:9007
listen = /run/php/php-fpm.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Hope it helps someone.
configure: WARNING: unrecognized options: --with-gd, --with-jpeg-dir, --enable-wddx, --enable-zip, --without-libzip
when building 7.4.5.
How to build PHP with IMAP support?
The extension is not under /usr/local/php7/include/php/ext
Thank you for this script. I was able to install PHP7.
Trying to configure Apache 2, I have followed this tutorial making use of mod_proxy_fcgi
.
Here is the Apache 2 error.log
:
[proxy:error] [pid 16302] (111)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:9007 (*) failed
[Mon Dec 07 12:56:52.484892 2015] [proxy_fcgi:error] [pid 16302] [client ::1:60787] AH01079: failed to make connection to backend: 127.0.0.1
And the php7-fpm service status:
php7-fpm.service - LSB: starts php7-fpm
Loaded: loaded (/etc/init.d/php7-fpm)
Active: active (exited) since Mon 2015-12-07 12:50:03; 54min ago
Process: 16106 ExecStop=/etc/init.d/php7-fpm stop (code=exited, status=0/SUCCESS)
Process: 15408 ExecReload=/etc/init.d/php7-fpm reload (code=exited, status=0/SUCCESS)
Process: 16114 ExecStart=/etc/init.d/php7-fpm start (code=exited, status=0/SUCCESS)
I am not sure the service should report active (exited)
?...
Install the Memcached Extension
$ ./php-7-debian/extensions
should be
$ cd php-7-debian/extensions
I did it successfuly the compile of code..
But I have not in init.d start-stop script.
Why?
find / -name modules.ini
empty
I can not do this:
cp conf/modules.ini /usr/local/php7/etc/conf.d/modules.ini
I thought it was a file generated by the compilation. Now I see that it is a file that is in the project.
What is the difference?
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl ...
or
--with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-openssl=shared ...
Previously compile OpenSSL 1.1.0f, zlib 1.2.11, libssh2 1.8.0, Nghttp2 1.23.1, curl 7.54.1, MariaDB 10.2.6.
In my script under construction
I have compiled in shared mode the libraries.
I do not understand much about the topic, but I would like the php compilation use the latest versions of the compiled libraries
You can also look: PHP 5.3 shared mode configure
I appreciate your help.
configure nginx with php-fpm like
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
fastcgi_pass 127.0.0.1:9007;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#include /etc/nginx/fastcgi_params;
}
in error message
2016/03/02 07:58:05 [error] 1249#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 103.30.85.81, server: localhost, request: "GET /
info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "128.199.181.221"
and check status php-fpm running
sudo service php7-fpm status
nothing diplay message http://prntscr.com/aabnv4
can you help me?
How to run PHP as cli
??
/usr/local/php7/sbin/php7-fpm -f /var/cronjob.php
Found this error during installation
configure: error: ICU version 4.0 or later required
Strange error because libicu 4.8 was installed.
So I solved by attaching to configure line
--with-icu-dir=/usr
I'm not sure how to go above upgrading to the latest PHP version (even a minor version e.g. from 7.1.6 to 7.1.8)
Would it be required to remove existing PHP then build using the remove.sh
and then install new version? That would require some downtime whilst it compiles?
Hi,
when compiling I get the following warning: configure: WARNING: unrecognized options: --with-mcrypt
.
It makes sense as mcrypt is deprecated since PHP 7.1. You might want to consider removing that line.
cheers
This is what I am doing now to enable redis:
git clone https://github.com/phpredis/phpredis.git &&
cd phpredis &&
git checkout php7 &&
phpize &&
./configure &&
make && make install &&
cd .. &&
rm -rf phpredis &&
#activate phpredis
echo "extension=redis.so" > /etc/php/mods-available/redis.ini &&
ln -sf /etc/php/mods-available/redis.ini /etc/php/7.0/fpm/conf.d/20-redis.ini &&
ln -sf /etc/php/mods-available/redis.ini /etc/php/7.0/cli/conf.d/20-redis.ini
Would be awesome if it could be added to this repo
For example, the branch for PHP 7.1.2 was not used to prepare the 7.1.2 release.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.