httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Olaf Lautenschlaeger" <vorlaeu...@abwesend.de>
Subject Re: Unzulässiger Zugriff auf einen Speicherbereich
Date Sat, 07 Jul 2007 11:02:37 GMT
Hallo Jan,

(das ganze per eMail, da ich hier auf die
Schnelle nicht direkt an die Liste mailen
kann - falls mein Tip hilft, leite ihn doch
ggf. bitte auch dorthin weiter).


Jan Bro <jabro@iname.com> wrote
on Saturday, June 02, 2007 10:41 PM [GMT+1=CET]:

> PHP Warning:  PHP Startup: Unable to load dynamic library
> 'C:\\Programmierung\\php\\ext\\php_mysqli.dll' -
> Unzul\xe4ssiger Zugriff auf einen Speicherbereich.

PHP kann die Extension nicht laden. Entweder liegt es an
Back-/Forward-Slashes in der Pfadangabe (einfach vs.
doppelt? - ich muss das auch immer x-mal ausprobieren,
wie Applikation XY das nun konkret handhabt und kann es
mir dann meist nicht dauerhaft merken).

Wahrscheinlich aber vermißt die php_mysqli.dll, da wo sie
liegt, ihrerseits noch eine DLL. Das findet man am besten
mit einem Tool wie DepWalker heraus (Meine Empfehlung:
die Übersicht über ALLE in Frage kommenden DLLs erar-
beiten).

php_mysqli.dll referenziert die php5ts.dll - hast Du die im
PATH? Von daher ist es meist einfacher, nur die wirklich
benötigten Extensions in das PHP-Verzeichnis zu kopieren
und dieses dann auch als extension_dir einzutragen. DLLs
im PATH bringen in Zusammenhang mit dem Apache eh
mehr Verwirrung als explizite Pfade und die Verwendung
von LoadFile - siehe etwas weiter unten im httpd.conf-
Schnipsel.

Überhaupt hat es sich bei mir folgendes bewährt:
- alle benötigten Komponenten, incl. Extensions, php.ini und
  Fremd-DLLs wie libMySQL.dll im PHP-Verzeichnis belassen
- PHPIniDir in httpd.conf zeigt auf das PHP-Verzeichnis, dann
  wird auch die php.ini von dort gelesen
- alle nichtbenötigten Files (php*.exe, php4apache.dll
  etc. in einem NONEED-Subfolder "verschwinden" lassen
  (ggf. mit abgesenkten Zugriffsrechten)
- PHP in Apache wie folgt einbinden:

LoadFile php5/php5ts.dll
LoadModule php5_module "php5/php5apache2.dll"
<IfModule php5_module>
    PHPIniDir "E:/Apache22/php5"
  # better have this set within <Directory>:
  # AddType application/x-httpd-php .php
</IfModule>

(ich habe PHP - entgegen vieler Empfehlungen - in einem
per SymLink gemounteten Verzeichnis "php5" unterhalb
des Apache-Ordners installiert (Symlink per NTFSlink/
"NTFS junction point" auf den tatsächlichen PHP-Ordner).
Es hat noch keiner schlüssig begründen können, was daran
gefährlicher sein soll als andere Dir-Schemen - die PHP-Ent-
wickler stehenihrerseits sowieso "auf Kriegsfuß" mit Pfadna-
men - für Updates ist das so erheblich eleganter)

> hier noch die veränderten Zeilen der PHP.ini
> extension_dir = C:\Programmierung\php\ext
> [...]
> ;extension=php_mysql.dll
> extension=php_mysqli.dll
> ;extension=php_oci8.dll
>
> Die PHP.ini ist im Windows Verzeichnis ebenso die libmySQL.dll
> die php_mysqli.dll ist korrekt im Extension Verzeichnis.
> Ich mach das auch nicht das erste Mal.

MfG

Olaf Lautenschläger
-- 
X-BND-WakeUp[tm]: Semtex APOthekenpflichtig Abschiebung Kanther
Kurdistan


--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message