Apache2 i php7.0 otrzymują stronę blanc

0

Szukałem odpowiedzi w witrynie, ale nie znalazłem rozwiązania mojego problemu.

Oto sytuacja:

Mam świeżą instalację najnowszej wersji Ubuntu:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

z zainstalowanymi i uruchomionymi apache2 i php7. Włączyłem moduł php7.0:

dpkg --get-selections | grep apache
apache2                                         install
apache2-bin                                     install
apache2-data                                    install
apache2-utils                                   install
libapache2-mod-php                              install
libapache2-mod-php7.0                           install

moja konfiguracja dostępna na stronach Apache2:

DocumentRoot /opt/Test/Sources

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /opt/Test/Sources>
  DirectoryIndex index.php
  Options FollowSymLinks
  AllowOverride None
  Require all granted
</Directory>

moje katalogi:

ll
total 12
drwxrwxrwx  3 root     root     4096 Nov 14 16:41 ./
drwxr-xr-x 23 root     root     4096 Nov 16 16:35 ../
drwxr-xr-x  4 www-data www-data 4096 Nov 14 16:42 Test/

cd Test/
ll
total 16
drwxr-xr-x 4 www-data www-data 4096 Nov 14 16:42 ./
drwxrwxrwx 3 root     root     4096 Nov 14 16:41 ../
drwxr-xr-x 2 www-data www-data 4096 Nov 14 16:42 Images/
drwxr-xr-x 2 www-data www-data 4096 Nov 16 18:13 Sources/

cd Sources/
ll
total 12
drwxr-xr-x 2 www-data www-data 4096 Nov 27 18:22 ./
drwxr-xr-x 4 www-data www-data 4096 Nov 14 16:42 ../
-rwxr-xr-x 1 www-data www-data   19 Nov 16 18:07 index.php*

Zrobiłem prosty plik testowy w index.php:

<?

phpinfo();

?>

Ale kiedy przeglądam, pojawia się strona blanc. Kiedy sprawdzam kod źródłowy w przeglądarce, otrzymuję to, co ma mój index.php:

<?

phpinfo();

?>

Wygląda na to, że apache nie interpretuje pliku. error.log nie ma błędów, a access.log wygląda normalnie:

192.168.70.88 - - [27/Nov/2016:18:27:43 +0100] "GET / HTTP/1.1" 200 223 "-"         "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)     Chrome/54.0.2840.99 Safari/537.36"
192.168.70.88 - - [27/Nov/2016:18:27:43 +0100] "GET /favicon.ico HTTP/1.1" 404 504 "http://192.168.70.30/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"

Czy ktoś ma pomysł? Dawno nie pracowałem z apache i php, pewnie coś zapomniałem.

Wielkie dzięki za pomoc

Folkien
źródło

Odpowiedzi:

0

Dowiedziałem się, na czym polega problem.

W tej wersji php, w /etc/php/7.0/apache2/php.ini domyślnie short_open_tag = Off. To znaczy, linie

<?

?>

nie są rozpoznawane jako kod php i tam nie są przetwarzane. możesz włączyć krótkie tagi lub dodać „php” na końcu pierwszego wiersza

i to działa.

Folkien
źródło