Hallo,
wenn ich das Apache PHP Modul nutzen moechte,
dann haben meine folgenden Apache httpd.conf Zeilen
PHPIniDir "C:/Program Files/PHP/"
LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll"
die Auswirkung dass "andere" virtuelle hosts und WebApps wie PhpMyAdmin
mit externem Verzeichnis, also nicht unterhalb von docroot, prima mit PHP
ueber das Apache Modul funktionieren, aber der virtuelle host der die gleichen
Pfade wie der Main-Server hat, die angegebene PHP Datei in
DocumentRoot nicht findet.
Ich dachte erst an Probleme bei den Rechten (deny, allow, etc.), aber diese
sind in Analogie zu allen anderen VHosts eingestellt und es ist sind FAT32
Verzeichnisse.
Ein explizites angeben von Options +ExecCGI ist ja nicht noetig und es soll
ja nun auch ueber das PHP Modul bedient werden.
Auch sind die Angaben und Pfade von Main-Server und (Main) Virtueller
Server identisch.
In der PHP Logdatei steh dann sowas:
PHP Warning: Unknown: failed to open stream: No such file or directory in
Unknown on line 0
und in der error log fuer den virtuellen (main) Server steht ein
PHP Fatal error: Unknown: Failed opening required 'C:/Program Files/Apache
Software Foundation/Apache2.2/htdocs/index.php'
(include_path='.;C:\\php5\\pear') in Unknown on line 0
errror.log vom hauptserver selber bleibt ohne Eintrag (auch bei LogLEvel
debug)
So manchmal treibt mich das ja schon in den Wahnsinn.
Hoffe hier weiss das jemand, bzw. es kann jemand erkennen
was da noch nicht hinhaut.
btw:
main-server-conf-in-httpd.con-fuer-htdocs.
Listen 127.0.0.1:80
Listen 192.168.1.1:80
ServerName localhost:80 # 127.0.0.1
ServerName computer.network:80 # 192.168.1.1
LogLevel debug
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Hier ist doch alles erlaubt. Ein Deny ist erst gar nicht definiert.
Also duerften nur die Regeln im Virutal-Host gelten, bzw. eventuelle
Deny Regeln greifen - oder?
virtuell-(main)-server-conf-(localhost)-in-httpd-vhosts.conf-fuer-htdocs.
NameVirtualHost 127.0.0.1:80
NameVirtualHost 192.168.1.1:80
<VirtualHost 192.168.1.1:80>
ServerAdmin admin@localhost
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
ServerName computer.network
ErrorLog "logs/01_computer.network_error.log"
LogLevel debug
CustomLog "logs/01_computer.network_access.log" common
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>
</VirtualHost>
Verstehe halt nicht warum PHP als Modul und Apache die "anderen"
virtuellen Hosts und Webapps bedienen kann, aber nicht den (main)
virtuellen Host. Dabei sind es exakt gleiche virtuelle Hosts
Konfigurationenn.
Btw2: Meine Apache/PHP Konfiguration laeuft einwandfrei mit PHP
als cgi Programm. Meine Eintraege fuer CGI PHP sind:
ScriptAlias /php/ "C:/Program Files/PHP/"
Action application/x-httpd-php "/php/php-cgi.exe"
<Directory "C:/Program Files/PHP">
AllowOverride None
Options +ExecCGI +FollowSymLinks
Order deny,allow
Deny from all
Allow from all
</Directory>
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
Options +ExecCGI +FollowSymLinks
Action php-script "/php/php-cgi.exe"
AddHandler php-script .php
</Directory>
Diese haben auch den gewuenschten Efekt nun alles (docroot und
auch externe dirs, wie cgi-bin) mit php als cgi Prog bedienen
zu koennen. Aber das Modul will noch nicht.
Was ist da zu tun, damit es auch mit dem Modul unter Windows laeuft?
Thomas