travis tests
[plcapi.git] / tests / ci / setup / setup_php_travis.sh
index 63ddcad..edef50a 100755 (executable)
@@ -4,6 +4,8 @@
 
 set -e
 
+SCRIPT_DIR="$(dirname -- "$(readlink -f "$0")")"
+
 configure_php_ini() {
     echo "cgi.fix_pathinfo = 1" >> "${1}"
     echo "always_populate_raw_post_data = -1" >> "${1}"
@@ -25,23 +27,26 @@ 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
+    # it seems that www.conf exists for php 7.4 and 8.0...
+    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/
+#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
+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 ?
 ~/.phpenv/versions/${PHPVER}/sbin/php-fpm
 
-# @todo configure apache for php-fpm via mod_proxy_fcgi...
-#sudo a2enconf php${PHPVER}-fpm
-#sudo service apache2 restart
+# configure apache for php-fpm via mod_proxy_fcgi
+sudo cp -f "$SCRIPT_DIR/../config/apache_phpfpm_proxyfcgi" "/etc/apache2/conf-available/php${PHPVER}-fpm.conf"
+sudo a2enconf php${PHPVER}-fpm
+sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars
+sudo service apache2 restart