Toon posts:

[PHP+WIN] Unable to fork

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb phpdev 4 geinstalleerd op mijn win xp bak.
Dit draait helemaal perfect. Nu heb ik een image gallery geinstalleerd en het pakket image magick.
Als ik nu thumbnails wil maken of images resizen, krijg ik de volgende error:
code:
1
Warning: Unable to fork ........... on line 82

In regel 82 staat:
code:
1
82: system($command);

Ik heb al gezocht op het internet, maar een oplossing nog niet kunnen vinden. Het ligt niet aan mijn php versie dat weet ik wel.

Kan iemand mij helpen?

Verwijderd

Op donderdag 11 juli 2002 17:31 schreef connector het volgende:
[...]
Het ligt niet aan mijn php versie dat weet ik wel.
[...]
Had dan eventjes je versienummer erbij gezet, want dat had ik je niet wellicht ten overvloedde hoeven te vertellen dat in het PHP 4 changelog onder versie 4.0.6 het volgende staat:
Fixed popen() and the exec family under Win32 (Unable to fork issue). (Daniel)
;)

Verder zijn er wel meer mensen met het probleem, zie http://bugs.php.net, waarop ik ook een probleem en mogelijke oplossing vond van een nieuwere versie dan 4.0.6, zie http://bugs.php.net/bug.php?id=14897

HTH :)

Verwijderd

Topicstarter
Op donderdag 11 juli 2002 18:27 schreef MrX het volgende:

Verder zijn er wel meer mensen met het probleem, zie http://bugs.php.net, waarop ik ook een probleem en mogelijke oplossing vond van een nieuwere versie dan 4.0.6, zie http://bugs.php.net/bug.php?id=14897

HTH :)
Ik heb idd versie 4.0.6
Ik heb het gelezen, dus het ligt eraan dat er cmd.exe niet gedraaid kan worden. Maar volgens mij gebruik ik dat helemaal niet, tenminste als ik dit script zo zie.
code:
1
2
3
4
5
6
7
function resize_image_im($src, $dest, $quality, $width, $height, $image_info) {
  global $convert_options;

  $command = $convert_options['convert_path']." -quality ".$quality." -antialias -sample $width"."x"."$height \"$src\" \"$dest\"";
  system($command);
  return (file_exists($dest)) ? 1 : 0;
}

Verwijderd

Als je de functie system gebruikt, run je iets vanaf de command line. Waar dat in een Unix omgeving een shell zoals bash is, is dat onder windows dus cmd. Ga maar eens naar Start -> Run ... / Uitvoeren ... en type in 'cmd'.

Kortom, dit kan wel degelijk het probleem zijn wat jij hebt.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 11 juli 2002 23:15 schreef MrX het volgende:
Als je de functie system gebruikt, run je iets vanaf de command line. Waar dat in een Unix omgeving een shell zoals bash is, is dat onder windows dus cmd. Ga maar eens naar Start -> Run ... / Uitvoeren ... en type in 'cmd'.

Kortom, dit kan wel degelijk het probleem zijn wat jij hebt.
Ik gok erop dat MrX gelijk heeft :)
En php-4.2.1 installeren is niet zo moeilijk toch?

Gewoon los installeren, die php in je commandline aanroepen met het script als parameter.

Als je dan ook een unable to fork krijgt lag het niet aan de php-versie, maar heb jehet wel even simpel getest :)

Verwijderd

Op donderdag 11 juli 2002 23:37 schreef ACM het volgende:

[..]

Als je dan ook een unable to fork krijgt lag het niet aan de php-versie, maar heb jehet wel even simpel getest :)
En als het geen bug is (die met een nieuwe versie is opgelost), dan is het mijns inziens een rechtenprobleem, waarbij dus de gebruiker waaronder PHP draait geen rechten heeft om het cmd proces op te starten (te forken, in Unix termen (hoewel forken onder Unix volgens mij anders werkt dan een proces opstarten onder Windows, maar ondertussen beginnen de mieren te vrezen voor aanstaande molestatie, dus hou ik maar op :+)).

  • GGS_VR6
  • Registratie: Juli 2001
  • Niet online

GGS_VR6

Oranje!

In PHPdev4, zit daar geen Apache 1.3.20 in :?

T.net ID. Bekijk het maar es eem..
‹(◕‿◕)›


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 11 juli 2002 23:44 schreef GGS_VR6 het volgende:
In PHPdev4, zit daar geen Apache 1.3.20 in :?
Zou kunnen, is dan onverstandig maar niet relevant voor deze bug ;)

Verwijderd

Op donderdag 11 juli 2002 23:44 schreef GGS_VR6 het volgende:
In PHPdev4, zit daar geen Apache 1.3.20 in :?
Uhm ... your point being .... ??? :?
/me mist de relevantie met de huidige discussie

edit:
My god, ACM .... great minds do think alike ... or in sync at least :+

  • GGS_VR6
  • Registratie: Juli 2001
  • Niet online

GGS_VR6

Oranje!

Dat was ff offtopic, maar misschien een id voor de topicstarter om die dan te updaten :)

T.net ID. Bekijk het maar es eem..
‹(◕‿◕)›


Verwijderd

(hoewel forken onder Unix volgens mij anders werkt dan een proces opstarten onder Windows
Met fork() onder unix kloon je het huidige process (conceptueel dan, want met copy-on-write e.d. hoeft er aanvankelijk maar weinig gekopiert te worden). Je kan dan eventueel met exec() besluiten om bijvoorbeeld het huidige process te overschrijven met het opgegeven programma (met het intact houden van bepaalde resources zoals files).

Onder windows kan je met createprocess alleen een ander process opstarten, die dan (afhankelijk van rechten) toegang heeft tot bepaalde resources van de parent.

Je zou kunnen zeggen dat onder windows de fork() stap overgeslagen wordt.

Verwijderd

Topicstarter
Op donderdag 11 juli 2002 23:44 schreef GGS_VR6 het volgende:
In PHPdev4, zit daar geen Apache 1.3.20 in :?
Is op dit moment niet echt van belang bij deze discussie en zeker niet omdat het gewoon lokaal draait op mijn win xp pc.
Maar dit ter zijde.

Maar hoe installeer ik php-4.2.1 in phpdev?
Kun je php makkelijk updaten binnen phpdev?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 12 juli 2002 09:16 schreef connector het volgende:
Maar hoe installeer ik php-4.2.1 in phpdev?
Kun je php makkelijk updaten binnen phpdev?
Zou ik niet weten, maar alleen om dat te testen hoef je niet perse php-4.2.1 onder phpdev te installeren, gewoon ergens los kan ook hoor.

  • The Wizard
  • Registratie: Januari 2000
  • Laatst online: 27-08 20:36

The Wizard

Moderator Mobile
Ik las op een andere site dat het een rechten kwestie is. Het probleem is dat het programma executie rechten moest hebben bij de gebruiker IUSR_compnaam. Dit is in XP niet in te stellen. De oplossing is terug naar w2k of een andere gebruikersnaam gebruiken, maar wel eentje met voldoende rechten, wat natuurlijk niet echt verstandig is.

[ Voor 23% gewijzigd door The Wizard op 02-12-2002 13:57 ]

7740 kWp, 3 subsystemen (20x 320 Wp / 2x 230 Wp / 2x 440 Wp)

Pagina: 1