Diferența dintre script-urile PHP și PHP pe MAMP?

Acest lucru este ciudat pentru mine. Mă întreb de ce. Am scris un script PHP pentru a valida sintaxa unui alt script PHP numit test.php

 <?php
    print("Hello World");
    ?>

Scriptul de validare index.php este:

#!/usr/bin/env php
<?php
exec("php -l test.php", $error, $retcode);
echo($retcode . "
"); var_dump($error); ?>

Când rulez pe linia de comandă PHP index.php , generează această ieșire:

0
array(1) { [0]=> string(37) "No syntax errors detected in test.php" }

Asta arată bine pentru mine. Cu toate acestea, când rulez pe localhost, acesta generează această ieșire:

#!/usr/bin/env PHP 5
array(0) { }

De ce $ retcode este setat la 5? De asemenea, sunt pe PHP5.3

0
Am inclus deja ecranul de ieșire. 5 este lângă #!/Usr/bin/env php
adăugat autor knd, sursa
Unde primesti $ retcode la cinci? Nu văd în exemplul dvs.
adăugat autor King Skippus, sursa

1 răspunsuri

Bine, m-am gândit deja.

Consultați http://linux.die.net/man/1/rsync pentru codul de ieșire info.

Problema este că trebuie să folosesc interpretul PHP pe MAMP, care este:

exec("/Applications/MAMP/bin/php/php5.3.6/bin/php -l $file",$error,$retcode);

Cel pe care l-am folosit înainte a fost interpretul PHP pe OS X.

0
adăugat
PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT