- 8.0
before_install:
+ # @todo stop useless daemons to save memory: snapd, docker, ...
# This is mandatory or the 'apt-get install' calls following will fail
- sudo apt-get update -qq
# Just in case there are git misconfigurations: make sure scripts are executable
./vendor/bin/phpunit $COVERAGE_OPTS tests
after_failure:
- # temp
- - ps auxwww
- - cat /etc/passwd
- - sudo ls -ltr /var/log
- - sudo ls -ltr /var/log/apache2
- - 'sudo find /etc/apache2 | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"'
+ # Troubleshoot
+ #- cat /etc/passwd
+ #- ps auxwww
+ #- 'sudo find /etc/php | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"'
+ #- php -i
+ - ls -la /run/php
+ #- sudo ls -ltr /var/log
+ #- sudo ls -ltr /var/log/apache2
+ #- 'sudo find /etc/apache2 | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"'
- # Save as much info as we can to help developers
+ # Show as much info as we can to help developers
+ - sudo cat /var/log/privoxy.log
- cat apache_error.log
- cat apache_access.log
+ - sudo cat /var/log/php*.log
after_script:
# Upload code-coverage to Scrutinizer
- - if [ -f coverage.clover ]; then wget https://scrutinizer-ci.com/ocular.phar; fi
- - if [ -f coverage.clover ]; then php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
+ - if [ -f coverage.clover ]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
# Upload code-coverage CodeClimate - disabled as it does not support php 8 atm
#- if [ -f coverage.clover ]; then CODECLIMATE_REPO_TOKEN=7fa6ee01e345090e059e5e42f3bfbcc8692feb8340396382dd76390a3019ac13 ./vendor/bin/test-reporter --coverage-report=coverage.clover; fi
+++ /dev/null
-# @todo check: is this limited to php5 only?
-
-# Wire up Apache to use php-fpm via mod_fastcgi.
-<IfModule mod_fastcgi.c>
- AddHandler php5-fcgi .php
- Action php5-fcgi /php5-fcgi
- Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
- FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
- <Directory /usr/lib/cgi-bin>
- Require all granted
- </Directory>
-</IfModule>
# @todo check: templatize this, to make it work with any php version
# Redirect to local php-fpm if mod_php is not available
+<IfModule !mod_php8.c>
<IfModule !mod_php7.c>
<IfModule proxy_fcgi_module>
# Enable http authorization headers
</IfModule>
<FilesMatch ".+\.ph(ar|p|tml)$">
- SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
+ SetHandler "proxy:unix:/run/php/php-fpm.sock|fcgi://localhost"
</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
</FilesMatch>
</IfModule>
</IfModule>
+</IfModule>
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}"
# @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/conf-enabled/php-${PHPVER}fpm.conf"
+sudo sed -i -e "s,/run/php/php-fpm.sock,/run/php/php${PHPVER}-fpm.sock,g" "/etc/apache2/conf-available/conf-enabled/php-${PHPVER}fpm.conf"
+sudo a2enconf php${PHPVER}-fpm
+sudo service apache2 restart