wip github actions CI
[plcapi.git] / tests / ci / setup / setup_php.sh
index e45765c..1a7c69c 100755 (executable)
@@ -4,18 +4,17 @@
 
 # To be kept in sync with setup_php_travis.sh
 
+# @todo make it optional to disable xdebug ?
+
 set -e
 
 configure_php_ini() {
+    # note: these settings are not required for cli config
     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
+    phpdismod xdebug
 }
 
 # install php
@@ -58,9 +57,18 @@ PHPVER=$(php -r 'echo implode(".",array_slice(explode(".",PHP_VERSION),0,2));' 2
 
 configure_php_ini /etc/php/${PHPVER}/fpm/php.ini
 
-# use a nice name for the php-fpm service, so that it does not depend on php version running
+# use a nice name for the php-fpm service, so that it does not depend on php version running. Try to make that work
+# both for docker and VMs
 service "php${PHPVER}-fpm" stop
-ln -s "/etc/init.d/php${PHPVER}-fpm" /etc/init.d/php-fpm
+if [ -f "/etc/init.d/php${PHPVER}-fpm" ]; then
+    ln -s "/etc/init.d/php${PHPVER}-fpm" /etc/init.d/php-fpm
+fi
+if [ -f "/lib/systemd/system/php${PHPVER}-fpm.service" ]; then
+    ln -s "/lib/systemd/system/php${PHPVER}-fpm.service" /lib/systemd/system/php-fpm.service
+    if [ ! -f /.dockerenv ]; then
+        systemctl daeamon-reload
+    fi
+fi
 
 # @todo shall we configure php-fpm?