Ubuntu 16.04 добавляет libapache2-mod-php7.0
который портит apache2
конфигурация для обслуживания находящихся в php проектов (я формулирую это так неопределенно, потому что я хотел бы постараться не иметь дело с исходным кодом для проектов, которые, как предполагается, являются установкой out-of-the-box/without знание внутренностей, как dokuwiki
).
Оценка из официального руководства по миграции PHP 7 и ошибок как Parse error: syntax error, unexpected 'new' (T_NEW)
который не произошел, прежде и я не занимался расследованиями далее (см. выше), по крайней мере, проект, которому я хочу вручить, является несовместимым с PHP 7, которые заставляют меня не иметь никакого интереса к установке PHP 7 и таким образом придерживаться PHP 5.
После sudo a2dismod php7.0 && sudo a2enmod php5
Я предложил загрузку.
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .htm .html
всегда был в конфигурации сайта, которая является, например,
Listen 0.0.0.0:446 https
Alias /dokuwiki/ "/var/www/html/dokuwiki/"
DirectoryIndex index.php index.html index.htm doku.php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .htm .html
<Directory "/var/www/html/dokuwiki">
Options None
AllowOverride Limit
Require all granted
</Directory>
<VirtualHost richtercloud.de:446 >
ErrorLog /var/log/dokuwiki/dokuwiki.log
SSLEngine On
DocumentRoot "/var/www/html/dokuwiki"
ServerName richtercloud.de
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key
</VirtualHost>
Добавление обработчика как
AddHandler php5-script .php
AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
или
AddType text/html php
(вдохновленный https://serverfault.com/questions/215455/what-causes-php-pages-to-consistently-download-instead-of-running-normally), не помогает.
Было бы хорошо измениться https
кому: http
, но все проекты, которым я вручаю, настроены для создания межсоюзника соединений SSL, так, чтобы означал бы загрузку изменений конфигурации, которых я хотел бы избежать к прошлому моменту.
/var/log/apache2/error.log
содержит
[Fri Mar 18 14:21:45.448248 2016] [core:notice] [pid 12155] AH00094: Command line: '/usr/sbin/apache2'
[Fri Mar 18 14:22:45.449327 2016] [mpm_prefork:notice] [pid 12155] AH00169: caught SIGTERM, shutting down
[Fri Mar 18 14:22:57.677426 2016] [ssl:warn] [pid 12732] AH01909: richtercloud.fritz.box:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 18 14:22:57.677519 2016] [:notice] [pid 12732] mod_qos(009): loaded MPM is 'prefork' but mod_qos should be used with MPM 'Worker' only.
[Fri Mar 18 14:22:57.677565 2016] [:warn] [pid 12732] mod_qos(009): mod_unique_id not available (mod_qos generates simple request id if required)
[Fri Mar 18 14:22:57.793923 2016] [:notice] [pid 12737] FastCGI: process manager initialized (pid 12737)
PHP Warning: Module 'horde_lz4' already loaded in Unknown on line 0
PHP Warning: Module 'igbinary' already loaded in Unknown on line 0
PHP Warning: Module 'imagick' already loaded in Unknown on line 0
PHP Warning: Module 'intl' already loaded in Unknown on line 0
PHP Warning: Module 'memcache' already loaded in Unknown on line 0
[Fri Mar 18 14:22:58.010146 2016] [ssl:warn] [pid 12734] AH01909: richtercloud.fritz.box:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 18 14:22:58.010260 2016] [:notice] [pid 12734] mod_qos(009): loaded MPM is 'prefork' but mod_qos should be used with MPM 'Worker' only.
[Fri Mar 18 14:22:58.010309 2016] [:warn] [pid 12734] mod_qos(009): mod_unique_id not available (mod_qos generates simple request id if required)
[Fri Mar 18 14:22:58.025190 2016] [mpm_prefork:notice] [pid 12734] AH00163: Apache/2.4.18 (Ubuntu) Embperl/2.5.0 mod_auth_pgsql/2.0.3 mod_auth_gssapi/1.3.3 mod_auth_tkt/2.1.0 mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_fcgid/2.3.9 OpenSSL/1.0.2g mod_qos/11.21 mod_scgi/1.13 mod_apreq2-20090110/2.8.0 mod_defensible/1.2 mod_perl/2.0.9 Perl/v5.22.1 configured -- resuming normal operations
[Fri Mar 18 14:22:58.025228 2016] [core:notice] [pid 12734] AH00094: Command line: '/usr/sbin/apache2'
для каждого (ре) запускаются, который не кажется проблематичным.
ErrorLog
из VirtualHost
из dokuwiki
пример выше содержавшего
[Fri Mar 18 03:07:49.551221 2016] [proxy:warn] [pid 4306] [client 192.168.179.52:34298] AH01144: No protocol handler was valid for the URL /doku.php. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
и я понятия не имею, как я избавился от него, но это ничего не изменило, так или иначе.
$ sudo apache2ctl -M
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
auth_pgsql_module (shared)
access_compat_module (shared)
alias_module (shared)
apreq_module (shared)
auth_basic_module (shared)
auth_gssapi_module (shared)
auth_plain_module (shared)
auth_tkt_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
defensible_module (shared)
deflate_module (shared)
dir_module (shared)
encoding_module (shared)
env_module (shared)
fastcgi_module (shared)
fcgid_module (shared)
filter_module (shared)
geoip_module (shared)
headers_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
perl_module (shared)
php5_module (shared)
qos_module (shared)
rewrite_module (shared)
scgi_module (shared)
setenvif_module (shared)
slotmem_shm_module (shared)
socache_shmcb_module (shared)
ssl_module (shared)
status_module (shared)
xsendfile_module (shared)
embperl_module (shared)
Я знаю, что это - разработка основанный на версии вопрос, но можно было бы также ответить теперь, а не после первых часов выпуска, когда группа людей испытает эту проблему.
Я запутался модификациями и confs и сайтами и .htaccess
и... По-видимому, возможно иметь confs для php5-cgi
, и php7.0-fpm
включил, который может быть зафиксирован с
sudo a2disconf php7.0-fpm
sudo systemctl restart apache2.service