[WIN32/PHP] extension laden

Pagina: 1
Acties:
  • 125 views sinds 30-01-2008
  • Reageer

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Hoi!

Situatie
Voor mijn bedrijfje was ik gisteren ons product (weblication op PHP) installeren bij een klant. Wij gebruiken hier (Linux test server) de Turck MMCache (een PHP cache / accelerator) met veel plezier en dus waren wij van plan een ge-encode versie bij de klant (Win 2000 server) neer te zetten (sneller, copyright). Ik kreeg het echter niet voor elkaar de (zelf gecompilede) dll te installeren. Gelukkig had ik ook de normale sources meegenomen.

Het probleem
Apache zeurt bij het opstarten dat hij de extension dll niet kan vinden.

Ik heb van alles geprobeerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
extension_dir = "./"    ; default
extension_dir = ".\"
extension_dir =  "c:\php"
extension_dir = "./extensions"
extension_dir = "extensions"
... etc ...
;en zelfs:
;extension_dir    (dus niets ingesteld, dan zoekt hij automatisch in c:\php4)

;verder onderaan:
extension = turckldr.dll
extension = "extensions\turckldr.dll"
extension = "extensions/turckldr.dll"

Ook het aangeven van de volledige pad naar de extension zelf (C:\php\extensions\turckldr.dll) of de dll in de root van php en zelfs de system root te zetten wil niet werken.

Hoe moet je zo'n extension nou aangeven? Ik vond het al zo raar dat Apache de php4apache2.dll ook niet kon vinden als je php4ts.dll niet in de system root zet. Heeft dat ermee te maken?

Specs
PHP 4.3.9, Apache 2.0.52, Win2000

offtopic:
Sweet, mijn eerste topic met de nieuwe layout. Kick ass!

[ Voor 8% gewijzigd door JayVee op 02-12-2004 16:43 ]

ASCII stupid question, get a stupid ANSI!


  • snoopy
  • Registratie: December 2000
  • Laatst online: 25-08 12:42
Je moet als extension-dir iig de directory opgeven met extensions, bij php4 is dit dacht ik ./ext/ of ./extension(s)/

Misschien werkt het zo...

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Whoops, dat hebben we uiteraard ook gedaan.

ASCII stupid question, get a stupid ANSI!


  • blizt
  • Registratie: Januari 2003
  • Laatst online: 30-06 08:50

blizt

Wannabe-geek

Volgens mij werkt het het beste als je die dll in $WINDIR (C:\winnt\ is dat op win2k toch?) gooit ...

United we stand, and divided we fall


  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Dat hebben we ook geprobeerd, mocht ook niet baten.
Het rare is dat ik het zelfs voor elkaar had (door te knoeien met de extension_dir en de extension vars) dat hij "C:\php\extensions\turckldr.dll" ging zoeken - precies waar de file stond! Maar toch kon hij hem niet openen.

ASCII stupid question, get a stupid ANSI!


  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
Ben nu op mijn eigen PC (WinXP SP2) aan het testen.
Met de volgende instellingen
code:
1
2
3
4
5
6
7
-- httpd.conf --
LoadModule php4_module "c:/server/php/sapi/php4apache2.dll"
PHPIniDir "C:/server/php"

-- php.ini --
extension_dir = "./extensions"
extension=turckldr.dll

Krijg ik de volgende foutmelding:

"Unknown(): Unable to load dynamic library './extensions\turckldr.dll' - The specified module could not be found."

Sja, met back EN forward slashes gemixd vind ik dat zo gek niet! Ik ga nog een beetje spelen.


Oplossing
code:
1
2
extension_dir = "c:/server/php/extensions"
extension=turckldr.dll

Gewoon de volledige en absolute path aangeven (met of zonder trailing slash) :X

[ Voor 40% gewijzigd door JayVee op 02-12-2004 17:40 ]

ASCII stupid question, get a stupid ANSI!


  • snoopy
  • Registratie: December 2000
  • Laatst online: 25-08 12:42
Je moet naar mijn weten bij de extension-dir wel een trailing slash opgeven, maar zoals al eerder gezegd, probeer eens een absoluut pad (met trailing slash) misschien dat dit werkt.

Mijn code:
code:
1
2
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Servers/PHP5/ext/"


Kijk ook eens of de account waaronder de server draait die dll-file mag benaderen (dit zal waarschijnlijk de SYSTEM-account zijn...)

[ Voor 6% gewijzigd door snoopy op 02-12-2004 18:55 . Reden: vautje ]


Verwijderd

Ik heb exact hetzelfde probleem met PHP4 en sommige extensies op Windows 2000. (PHP 4.3.9)

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:30
Als je ze in c:\winnt\ gooit werkt het wel?

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Ik heb mijn extension's op m'n windows bak gewoon in "%WINDIR%\system32" gegooid, works for me.

-edit
En php.ini niet aangepast in de extension dir..
; Directory in which the loadable extensions (modules) reside.
extension_dir = "./"

[ Voor 49% gewijzigd door semicolon op 02-12-2004 21:46 ]

:D/-<


  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Ik heb het probleem hier ook. Specs als TS alleen met XP.
code:
1
extension_dir = "c:/php/extensions/"

Dit klopt, want hij laadt bijvoorbeeld php_gd2.dll wel goed. Alleen de extensions die een dll nodig hebben doen het niet (in mijn geval bijvoorbeeld php_domxml.dll die expat.dll nodig heeft). Daarbij geeft-ie de welbekende foutmelding als ik Apache restart. expat.dll in /system32 zetten sorteert voor mij geen effect. Deze zou standaard in c:\php\ moeten staan (met PHPIniDir "C:/php" in de httpd.conf van Apache).

Ik heb nog nergens een oplossing kunnen vinden...

  • SoulWar1
  • Registratie: Augustus 2004
  • Laatst online: 22:18
Bij het laden van de MySQL extensie had ik een vergelijkend probleem. Hij kan de .dll extensie van MySQL niet vinden. Bleek dat php5ts.dll en libmysql.dll gekopieerd moesten worden naar de WinNT directory.

Probeer eens php5ts.dll te kopieeren naar die directory, het zal vast een vergelijkbaar probleem zijn.

Gr ;)

[ Voor 66% gewijzigd door SoulWar1 op 02-12-2004 23:43 ]

Know Thyself


  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Ik weet welke bestanden ik moet hebben zoals ik aangeef, maar er gaat iets fout in de configuratie, ze moeten namelijk ook gewoon in c:/php/extensions/ en c:/php/ kunnen staan imo. Dit probleem had ik overigens bij Apache 1.33 niet, dat zegt ook wel weer wat natuurlijk... Zal nog eens wat proberen.

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Topicstarter
snoopy schreef op donderdag 02 december 2004 @ 18:52:
Je moet naar mijn weten bij de extension-dir wel een trailing slash opgeven, maar zoals al eerder gezegd, probeer eens een absoluut pad (met trailing slash) misschien dat dit werkt.
Heb het hier op mijn WinXP bak getest met en zonder trailing slash, werkt allebij. Helaas weet ik niet of ik het probleem zo ook op kan lossen op die Win2000 bak. Ik ga het iig nog eens proberen.

ASCII stupid question, get a stupid ANSI!


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:50

Creepy

Tactical Espionage Splatterer

Dit is nu toch echt een configuratie probleem :)

P&W -> SA

Edit: ik zei dus: P&W -> SA

[ Voor 21% gewijzigd door Creepy op 03-12-2004 09:56 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

X-Lars schreef op donderdag 02 december 2004 @ 23:26:
code:
1
extension_dir = "c:/php/extensions/"
Werkt bij mij fijn (W2k-installaties, 2 stuks) en GD en PDF
code:
1
2
extension=php_gd2.dll
extension=php_pdf.dll

Ik heb trouwes PHP Version 4.3.2 draaien

[ Voor 3% gewijzigd door Verwijderd op 03-12-2004 10:28 ]


  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Some of the extensions need extra DLLs to work. Couple of them can be found in the distribution package, in the C:\php\dlls\ folder in PHP 4 [...] If you are installing PHP 4, copy the bundled DLLs from C:\php\dlls folder to the main C:\php folder. Don't forget to include C:\php in the system PATH (this process is explained in a separate FAQ entry).
De extenties die jij aangeeft hebben geen extra dll nodig geloof ik.

Anyway, het werkt nu mijn pc opnieuw is opgestart. * X-Lars rent beschaamd weg. Vond ik toch vreemd dat dat nodig was, want als je Apache restart, leest die de instellingen opnieuw in. Ook PHP's instellingen werden dan opnieuw gezet.
Pagina: 1