move tests badge in readme to GHA
[plcapi.git] / tests / ci / setup / setup_php_travis.sh
index 704dcc1..4cc194e 100755 (executable)
@@ -2,6 +2,8 @@
 
 # To be kept in sync with setup_php.sh
 
+# @todo make it optional to disable xdebug ?
+
 set -e
 
 SCRIPT_DIR="$(dirname -- "$(readlink -f "$0")")"
@@ -10,12 +12,8 @@ configure_php_ini() {
     echo "cgi.fix_pathinfo = 1" >> "${1}"
     echo "always_populate_raw_post_data = -1" >> "${1}"
 
-    # @todo this only disables xdebug for CLI. To do the same for the FPM config as well, should we use instead `phpdismod` ?
-    XDEBUG_INI=$(php -i | grep xdebug.ini | grep -v '=>' | head -1)
-    if [ "$XDEBUG_INI" != "" ]; then
-        XDEBUG_INI="$(echo "$XDEBUG_INI" | tr -d ',')"
-        mv "$XDEBUG_INI" "$XDEBUG_INI.bak";
-    fi
+    # we disable xdebug for speed for both cli and web mode
+    phpenv config-rm xdebug.ini
 }
 
 PHPVER=$(phpenv version-name)
@@ -27,34 +25,25 @@ cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf.default ~/.phpenv/versions/${PH
 
 # work around travis issue #3385
 if [ -d ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d ]; then
-    #if [ "$TRAVIS_PHP_VERSION" = "7.0" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-    #  cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-    #fi
-    #if [ "$TRAVIS_PHP_VERSION" = "7.1" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-    #  cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-    #fi
-    #if [ "$TRAVIS_PHP_VERSION" = "7.2" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-    #  cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-    #fi
-    #if [ "$TRAVIS_PHP_VERSION" = "7.3" -a -n "$(ls -A ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d)" ]; then
-    #  cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-    #fi
-    # it seems that www.conf exists for php 7.4 and 8.0...
+    # it seems that www.conf does not exist for php 7.0 .. 7.3
     if [ -f ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default -a ! -f ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf ]; then
         cp ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
     fi
 fi
 
-#cat ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
-ls -la ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d
-#cat ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf
-
 # Use a unix socket for communication between apache and php-fpm - same as Ubuntu does by default
-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
-
+if [ -f ~/.phpenv/versions/${PHPVER}/etc/php-fpm.d/www.conf ]; then
+    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
+else
+    # php 5.6 has all fpm conf in a single file
+    sed -i -e "s,listen = 127.0.0.1:9000,listen = /run/php/php-fpm.sock,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
+    sed -i -e "s,user = nobody,user = travis,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
+    sed -i -e "s,group = nobody,group = travis,g" ~/.phpenv/versions/${PHPVER}/etc/php-fpm.conf
+fi
 sudo mkdir /run/php
 sudo chown travis:travis /run/php
-# @todo run php-fpm as root, and set up 'travis' as user in www.conf, instead ?
+
+# @todo run php-fpm as root, and (always) set up 'travis' as user in www.conf, instead ?
 ~/.phpenv/versions/${PHPVER}/sbin/php-fpm
 
 # configure apache for php-fpm via mod_proxy_fcgi