[php linux] socket create faalt

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

ik wil wat gaan klussen met php en sockets.
Nu heb ik dus php gecompileerd met --enable-sockets (met phpinfo staat het ook ge-enabled).
Als ik nu een voorbeeldje van de php.net website aanpas, waar het voor gedaan word hoe het moet, en ik draai hem via console dan krijg ik deze foutmelding :

code:
1
2
<br />
<b>Fatal error</b>:  Call to undefined function:  socket_create() in <b>/home/dyon/www/stuff/socket/server.php</b> on line <b>14</b><br />


Als ik hem echter run vanuit mijn browser, gebeurt er wel niets in die browserwindow, maar heeft hij wel de poort open gezet, en kan ik ermee communiceren....

ik heb php als module van apache en php met apx geinstalleerd.
Mensen tips/hint/ideeen ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmz zou deze thread mischien naar NOS kunnen worden gemoved ?

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 30 mei 2003 @ 21:37:
hmz zou deze thread mischien naar NOS kunnen worden gemoved ?
Volgens mij moet hij zelfs naar SA; maar dat kun je melden via Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/icon_hand.gif

En welk OS draai je?

edit:
Als je het vanuit je console runt heb je waarschijnlijk minder rechten dan het webserver-process. Probeer je een port onder de 1024 te openen?

[ Voor 19% gewijzigd door Spider.007 op 30-05-2003 21:44 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

socket_create

(PHP 4 >= 4.1.0)
Welke php versie heb je?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik draai php 4.2.3, op suse linux 7.3. Mijn apache en php zijn handmatig gecompileerd. Ik open poort 8888.
De error die ik krijg is volgens mij niet een error dat het niet werkt, maar dat heel de functie niet bestaat...

mijn php is gecompiled met sockets, zie hier :
http://www.asdfasdf.nl/~dyon/stuff/info.php

[ Voor 21% gewijzigd door Verwijderd op 31-05-2003 08:16 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Met de compilatie lijkt er niks mis te zijn.
Misschien dat eerdere errors ervoor zorgen dat PHP raar gaat doen.

Haal indien het er is, de @ voor de functies weg en probeer andere socket functies uit of deze werken.

[ Voor 32% gewijzigd door Verwijderd op 31-05-2003 22:52 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GrunGe :
ik draai een voorbeeld wat van php.net is gecopierd. De error die ik krijg is dat de functie niet bestaat. Als ik hem echter via web aanroep werkt het wel.

Ik denk dus dat het iets met een andere omgevingsvariabele te maken heeft. Maar welke dat is heb ik echt geen idee van.

Ik heb wel eens wat gehoord van CLI en module, bij mij is php een module van apache.
Mischien bestaat dit probleem in de CLI versie niet ?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ah, je commandline versie van php zal wel anders gecompileerd zijn dan de apache-module. Die zijn iig niet hetzelfde. Doe es zoiets:
php -i > cli_info.html

en bekijk die html dan in je browser (of gewoon een editor, maar het is nogal veel en onduidelijke html :P )

Het is namelijk niet zo dat de module die in apache zit ook op de cli gebruikt kan worden, dus voor je cli-aanroepen heb je een andere php in gebruik en als je die niet met socket gecompileerd hebt, dan is het niet heel vreemd dat die functie daar niet in bestaat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ACM:

bedankt voor je info, je hebt inderdaad gelijk :
gewone php_info() :
http://www.asdfasdf.nl/~dyon/stuff/info.php
via cli :
http://www.asdfasdf.nl/~dyon/stuff/cli_info.html


Wat ik nu echter niet snap is hoe dit kan. Ze staan allebij op hetzelfde pad geinstalleerd. Dus zou je denken dat het over dezelfde binary gaat... Blijkbaar toch niet ?

Probleem is iig nu al bekend ;) Nu de oplossing nog

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Nee, het zijn juist absoluut niet dezelfde binaries. Tenzij je toevallig alle extenties als modules zou compileren, waardoor ze dezelfde modules gebruiken.

Een aparte cli kun je compileren door de compilatie exact hetzelfde als voor apache uit te voeren, maar dan geen sapi opgeven, dus geen --with-apache enzo, maar dat gewoon weglaten (of expliciet opgeven dat het de cli moet worden, kan ook geloof ik).
Pagina: 1