move tests badge in readme to GHA
[plcapi.git] / tests / ci / setup / setup_php_travis.sh
1 #!/bin/sh
2
3 # To be kept in sync with setup_php.sh
4
5 # @todo make it optional to disable xdebug ?
6
7 set -e
8
9 SCRIPT_DIR="$(dirname -- "$(readlink -f "$0")")"
10
11 configure_php_ini() {
12     echo "cgi.fix_pathinfo = 1" >> "${1}"
13     echo "always_populate_raw_post_data = -1" >> "${1}"
14
15     # we disable xdebug for speed for both cli and web mode
16     phpenv config-rm xdebug.ini
17 }
18
19 PHPVER=$(phpenv version-name)
20
21 configure_php_ini ~/.phpenv/versions/${PHPVER}/etc/php.ini
22
23 # configure php-fpm
24 cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
25
26 # work around travis issue #3385
27 if [ -d ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d ]; then
28     # it seems that www.conf does not exist for php 7.0 .. 7.3
29     if [ -f ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default -a ! -f ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf ]; then
30         cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
31     fi
32 fi
33
34 # Use a unix socket for communication between apache and php-fpm - same as Ubuntu does by default
35 if [ -f ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf ]; then
36     sed -i -e "s,listen = 127.0.0.1:9000,listen = /run/php/php-fpm.sock,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
37 else
38     # php 5.6 has all fpm conf in a single file
39     sed -i -e "s,listen = 127.0.0.1:9000,listen = /run/php/php-fpm.sock,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
40     sed -i -e "s,user = nobody,user = travis,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
41     sed -i -e "s,group = nobody,group = travis,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
42 fi
43 sudo mkdir /run/php
44 sudo chown travis:travis /run/php
45
46 # @todo run php-fpm as root, and (always) set up 'travis' as user in www.conf, instead ?
47 ~/.phpenv/versions/${PHPVER}/sbin/php-fpm
48
49 # configure apache for php-fpm via mod_proxy_fcgi
50 sudo cp -f "$SCRIPT_DIR/../config/apache_phpfpm_proxyfcgi" "/etc/apache2/conf-available/php${PHPVER}-fpm.conf"
51 sudo a2enconf php${PHPVER}-fpm
52 sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars
53 sudo service apache2 restart