Ich habe Apache und PHP aktiv. Die php.info funktioniert auch. Nur bekomme ich beim Aufruf einer eigenen Datei über den action Tag nur eine weisse Seite im Editor geöffnet.

Hier sind einige Schritte, die überprüft werden können, um das Problem zu lösen:

  1. Überprüfen Sie die Dateiendung: Stellen Sie sicher, dass Ihre PHP-Datei die richtige Dateiendung hat, nämlich „.php“. Andernfalls wird der Server die Datei nicht als PHP-Skript erkennen.
  2. Konfiguration des Servers überprüfen: Stellen Sie sicher, dass Ihr Apache-Server so konfiguriert ist, dass er PHP-Skripte ausführen kann. Dazu müssen Sie sicherstellen, dass das Modul „mod_php“ oder ein ähnliches Modul aktiviert ist und dass die Konfigurationsdateien entsprechend angepasst sind.
  3. Berechtigungen überprüfen: Stellen Sie sicher, dass die Berechtigungen für Ihre PHP-Datei richtig gesetzt sind, damit der Webserver sie ausführen kann. In den meisten Fällen sollten die Berechtigungen auf 644 gesetzt sein.
  4. Fehlerprotokolle überprüfen: Überprüfen Sie die Fehlerprotokolle Ihres Webservers (normalerweise in einem Verzeichnis wie /var/log/apache2/ oder ähnlich). Dort finden Sie möglicherweise Hinweise darauf, warum das Skript nicht ordnungsgemäß ausgeführt wird.
(13)Permission denied: [client 127.0.0.1:46970] AH00529: /var/www/localhost/htdocs/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/localhost/htdocs/' is executable

In der .htacess in /var/www/localhost/htdocs habe ich folgendes eingetragen:

# Zeichenkodierung festlegen
AddDefaultCharset utf-8

Could not reliably determine the server’s fully qualified domain name, using ::1. Set the ‚ServerName‘ directive globally to suppress this message

Setzen des ServerName’s in der httpd.conf des Apaches
vi /etc/apache2/httpd.conf
ServerName localhost

Allgemeine Fehlerdiagnose :

Wenn die phpinfo-Datei im Browser nur weiß angezeigt wird, gibt es mehrere mögliche Ursachen für dieses Verhalten. Hier sind einige Schritte, die du durchgehen kannst, um das Problem zu identifizieren und zu lösen:

  1. Fehlerprotokolle überprüfen: Überprüfe die Apache-Fehlerprotokolle und die PHP-Fehlerprotokolle auf Hinweise auf das Problem. Die Protokolle befinden sich normalerweise in Verzeichnissen wie /var/log/apache2/ für Apache und /var/log/php.log oder /var/log/php_errors.log für PHP. Wenn du die genauen Protokollorte nicht kennst, schaue in deiner Apache- und PHP-Konfiguration nach oder in den Konfigurationsdateien für den Webserver und PHP.

PHP-Konfiguration überprüfen: Stelle sicher, dass deine PHP-Konfiguration korrekt ist. Überprüfe die Einstellungen in der php.ini-Datei, insbesondere display_errors, um sicherzustellen, dass Fehler auf dem Bildschirm angezeigt werden. Du könntest auch die error_reporting-Einstellung erhöhen, um sicherzustellen, dass alle Fehler angezeigt werden.

PHP aktivieren durch fcgid

Installiere www-apache/mod_fcgid und dev-lang/php. Das PHP Paket benötigt das cgi USE-flag:
root #emerge –ask www-apache/mod_fcgid dev-lang/php

Bearbeiten Sie die Datei mod_fcgid.conf:

DATEI /etc/apache2/modules.d/20_mod_fcgid.conf


LoadModule fcgid_module modules/mod_fcgid.so
SocketPath /var/run/fcgidsock
SharememPath /var/run/fcgid_shm
AddHandler php-fcgid .php
AddType application/x-httpd-php .php
Action php-fcgid /fcgid-bin/php-fcgid-wrapper
max request 128mb
FcgidMaxRequestLen 134217728
SetHandler fcgid-script
Options +ExecCGI

Erstellen Sie das benötigte Verzeichnis:
root #mkdir /var/www/localhost/htdocs/fcgid-bin

Erstellen Sie für den PHP-Wrapper einen symbolischen Link:
root #ln -s /usr/bin/php-cgi /var/www/localhost/htdocs/fcgid-bin/php-fcgid-wrapper

Aktivieren Sie das fcgid-Modul:
DATEI /etc/conf.d/apache2
Das fcgid-Modul aktivieren:

APACHE2_OPTS="… -D FCGID"

Apache-Konfiguration überprüfen: Überprüfe die Apache-Konfiguration, insbesondere die Konfiguration für den PHP-Modul oder den FastCGI-Prozess. Stelle sicher, dass die Verbindung zwischen Apache und PHP korrekt konfiguriert ist. Die Konfigurationsdateien liegen im Verzeichniss wie /etc/apache2/ in Gentoo Linux.

Berechtigungen überprüfen: Stelle sicher, dass die Dateiberechtigungen für die phpinfo-Datei und die Verzeichnisse, in denen sie sich befindet, korrekt sind. Apache muss in der Regel Lesezugriff auf die Datei und das Verzeichnis haben.

michis-kiste /var/www/localhost/htdocs # chmod 777 index.php
michis-kiste /var/www/localhost/htdocs # ls -all
insgesamt 20
drwxrwxr-x 2 michi root 4096 27. Jan 09:42 .
drwxr-xr-x 3 root root 4096 25. Jan 09:07 ..
-rw-r--r-- 1 root root 53 27. Jan 09:42 .htacess
-rwxrwxr-x 1 michi root 45 25. Jan 09:07 index.html
-rwxrwxrwx 1 michi michi 64 25. Jan 16:47 index.php

Apache-Neustart: Nachdem du Änderungen an den Konfigurationen vorgenommen hast, starte den Apache-Webserver neu, um sicherzustellen, dass die Änderungen wirksam werden.

michis-kiste /var/www/localhost/htdocs # systemctl restart apache2


Um Apache zum Laden des PHP5-Moduls (mod_php) zu konfigurieren, fügen Sie -D PHP zur Variablen APACHE2_OPTS in /etc/conf.d/apache2 hinzu. Benutzer erinnern sich vielleicht daran, dass früher auch die PHP-Version hinzugefügt werden musste (wie -D PHP5). Seit app-eselect/eselect-php Version 0.8.1 wird die Variable jedoch in -D PHP geändert, um eine einfache Integration zukünftiger Hauptversionen zu ermöglichen.

DATEI /etc/conf.d/apache2
Konfigurieren Sie Apache zum Laden von mod_php
## (Einstellungen für PHP5 und höher)
APACHE2_OPTS=“-D PHP“

Im folgenden Beispiel wird FilesMatch in der PHP-Modulkonfigurationsdatei von Apache platziert:

DATEI /etc/apache2/modules.d/70_mod.php
PHP-FPM benutzen (empfohlen für Apache 2.4.10 und neuer)


<IfDefine PHP>
        <FilesMatch "\.php$">
                SetHandler "proxy:unix:/var/run/php-fpm/www.sock|fcgi://localhost"
        </FilesMatch>
  
	# Set it to handle the files
	<IfModule mod_mime.c>
		AddHandler application/x-httpd-php .php .php5 .phtml
		AddHandler application/x-httpd-php-source .phps
	</IfModule>

	DirectoryIndex index.php index.phtml
 </IfDefine>

Überprüfen des IP Interfaces und des Ports, welcher apache2 zugewiesen wurde und auf dem dieser hört:

root #netstat -tulpen | grep apache

Überprüfen ob die Verbindung zum Apache-Server auf localhost funktioniert:
root #ping -c 4 localhost

https://wiki.gentoo.org/wiki/PHP/de