PHP CLI Probleem.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerard M

Gerard M

29/08/2007 20:11:00
Quote Anchor link
Hallo iedereen,

Ik ben een PHP script aan het schrijven welke de socket_create() functie vereist. Dit script is gemaakt voor CLI (command prompt). Maar hier beginnen echter de problemen.

Als ik mijn script aan roep krijg ik de volgende fatal error:
PROMPT> c:\wamp\php\php.exe filename.php
Fatal error: Call to undefined function socket_create() in ...


Maar als ik het zelfde script plaats in mijn public_html, en het script open via mijn browser(http://localhost/filename.php) krijg ik geen error.

Insgelijks ontbreekt de functie socket_create() in get_defined_functions() wanneer ik deze aanroep via command prompt. Maar als ik deze aanroep via mijn browser is deze wel present.

Ik draai Wamp5 versie 1.7.0 op Windows XP

Mijn vraag in een notendop: Hoe kan ik extentions voor php.exe activeren, of moet ik opzoek naar een speciaal CLI php.exe bestand(, welke vroeger met php4 meegeleverd werd.)

(En ik heb google al afgezocht)

Vriendelijke groet,
Gerjo

Edit:
Typo, het moet zijn socket_create() IPV create_socket().
Gewijzigd op 01/01/1970 01:00:00 door Gerard M
 
PHP hulp

PHP hulp

05/02/2023 02:26:14
 
Danny Roelofs

Danny Roelofs

29/08/2007 21:24:00
Quote Anchor link
Ik heb op zich geen flauw idee, ik ben op dat gebied een linux aanhanger dus ik heb geen ervaring met Wamp. Maar ik denk maar zo, zoek de verschillen en wie weet zit er een logica in.

1. Je script opstarten via de webbrowser, uit de map public_html werkt.
2. Je script opstarten van de command line wil niet.

Mijn conclusie is:

De webserver, van Wamp is dat toch ook Apache? daar bevindt zich een httpd.conf, daarin worden bepaalde instellingen gedaan en Apache roept
Php aan.

Als je zelf Php aanroept, heb je niets te doen met de httpd.conf instelling, je roept het nu in dit geval rechtstreeks aan.

Dus kort door de bocht gedacht zal de webserver een bepalende factor zijn, maar hoe? geen idee.

Wat ik als situatie me kan indenken is dat php via de webserver mischien een andere php.ini aanroept, en dat als je php.exe aanroept je mischien geen php.ini inlaad, ik weet niet hoe de installatie verloopt op een windows omgeving.

Ik kan me iets voorstellen dat er mischien een php.ini bestand is, en dat php tijdens de installatie in de registry ook dingen zet.

Maar ik zit gewoon met je mee te denken, te gokken naar mogelijkheden.


PS:

Ik neem aan dat de socket instructie's een externe library gebruiken, zoja dan denk ik dat er ergens iets fout gaat met het inlezen van de php.ini .. kun je in de php.exe prompt geen parameter ingeven waar je forceerd om een bepaalde php.ini in te lezen? ( -config /path/php.ini ) ofzo?
Gewijzigd op 01/01/1970 01:00:00 door Danny Roelofs
 
Gerard M

Gerard M

29/08/2007 22:09:00
Quote Anchor link
Probleem opgelost!

Wamp gebruikt een ander php.ini bestand dan dat php.exe gebruikt.

Ik heb "extension=php_sockets.dll" toegevoegd aan de correcte php.ini, en nu werkt het allemaal prima.

Danny, hartelijk bedankt voor je reactie.
 
Danny Roelofs

Danny Roelofs

29/08/2007 22:22:00
Quote Anchor link
Okay, Goed om te horen, dan kun je tenminste weer verder met je programmering...

Succes.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.