2015-05-21 6 views
6

Ich versuche Phalcon Dev Tools unter OSX zu installieren. Ich habe Phalcon installiert und es funktioniert gut.Phalcon Devtools funktioniert nicht

Ich habe die Anweisungen von hier folgt: http://docs.phalconphp.com/en/latest/reference/mactools.html

Wenn ich den Befehl phalcon im Terminal I folgende Ausgabe laufen:

Phalcon Developer Tools Installer 
Make sure phalcon.sh is in the same dir as phalcon.php and that you are  running this with sudo or as root. 
Installing Devtools... 
Working dir is: /Users/me/phalcon-tools 
Done. Devtools installed! 

Nun, wie verwende ich die devtools? Wenn ich gebe, ist die Ausgabe genau die selbe wie oben und fortfahrend, mir zu sagen, dass es installiert ist.

Fehle ich hier etwas?

bemerkte ich im phalcon.sh Skript, am Ende hatte:

if check_install; then 
    php "$PTOOLSPATH/phalcon.php" $* 
fi 

Also, wenn check_install geht, laufen phalcon.php. Ich habe versucht, dieses Skript manuell auszuführen, und am Terminal passiert nichts.

$PTOOLSPATH ist definiert. Ich habe dies unter Verwendung echo $PTOOLSPATH bestätigt.

Meine /usr/bin/env php ist korrekt und verweist auf PHP von MAMP. Ich habe Phalcon im Moment mit MAMP installiert. Mein PHP ist richtig:

which php 
/Applications/MAMP/bin/php/php5.5.23/bin/php 

Inspizieren des phalcon.php Skript, und mit xdebug ich das Problem entdeckt hier zu liegen:

if (!extension_loaded('phalcon')) { 
    throw new Exception(
     sprintf(
      "Phalcon extension isn't installed, follow these instructions to install it: %s", 
      Script::DOC_INSTALL_URL 
     ) 
    ); 
} 

So ist die Phalcon Erweiterung nicht geladen ist. Nicht sicher, warum die Ausgabe der Ausnahme im Terminal nicht gedruckt wird. Aber, PHP Fehlerprotokoll zeigt:

[21-May-2015 22:37:48 Europe/Berlin] PHP Fatal error: Class 'Phalcon\Script' not found in /Users/me/phalcon-tools/phalcon.php on line 41 

Jetzt bin ich ratlos.

Edit:

Lauf php -m zeigte mir Phalcon nicht installiert ist. Das ist seltsam, weil ich Phalcon in meiner Webanwendung verwende und es funktioniert gut. Wie Sie sehen können, habe ich die Erweiterung in die php.ini geladen.

enter image description here

Die PHP-Version ist Ich verwende:

PHP 5.5.23 (cli) (built: Apr 9 2015 19:29:27) 

Wie Sie sehen können, Phalcon im richtigen Verzeichnis ist:

ls /Applications/MAMP/bin/php/php5.5.23/lib/php/extensions/no-debug-non-zts-20121212 
apcu.so 
imagick.so 
phalcon.so 
... 

Und wie Sie sehen können aus phpinfo() es ist installiert ...

enter image description here

Die folgenden Befehle sowohl unterschiedliche Ergebnisse liefern auch:

Phalcon Shows wie installiert:

echo "<?php phpinfo(); ?>" | php > phpinfo.txt && cat phpinfo.txt | grep phalcon 

Zeigt Phalcon nicht installiert:

php -m 

Irgendwelche Ideen?

Antwort

0

Ich habe das gleiche Problem mit Ihnen. und ich habe es gelöst, solange ich diese zwei Zeilen in meine ~/.bash_profile Datei hinzufüge.

export PATH=$PATH:/Users/scott/phalcon-tools 
export PTOOLSPATH=/Users/scott/phalcon-tools 

Zuerst füge ich nur die erste Zeile in .bash_profile, und ich habe die gleichen Informationen mit Ihnen.

1

Nach viel versucht, fand ich heraus, dass der Code in den reference gezeigt ist falsch:

ln -s ~/phalcon-tools/phalcon.sh ~/phalcon-tools/phalcon 
chmod +x ~/phalcon-tools/phalcon 

Der richtige Weg in den github repo finden:

ln -s ~/phalcon-devtools/phalcon.php /usr/bin/phalcon 
chmod ugo+x /usr/bin/phalcon 

Grundsätzlich ist der Link sollte nicht das Skript, sondern die PHP-Datei sein. Das zu beheben, konnte ich das Dev-Tool ordnungsgemäß ausführen.

+0

Im Zusammenhang mit dieser Ausgabe "Ubuntu @ ip-000-31-14-000: ~ $ sudo chmod UGO + x/usr/bin/phalcon chmod: kann nicht auf baumelnden Symlink '/ usr/bin/phalcon'' arbeiten –

0

Kann in der Befehlszeile sein ini-Datei phalcon ist nicht installiert, so dass es Fehler wirft.

Geben Sie einfach diesen Befehl in das Terminal ein.

php --ini 

dann überprüfen Sie die Ausgabe der interessante Linie ist

Loaded Configuration File:   /etc/php5/cli/php.ini 

jetzt versuchen, zu überprüfen, ob

phalcon.so 

dort auch geladen ist oder nicht.

wie für Web und CLI gibt es verschiedene phalcon.so-Datei wird zur Verfügung gestellt, so dass wir "phalcon.so" in beiden Dateien einfügen müssen.

also phalcon.so ist in Ihrem Web php.ini enthalten, so dass es reibungslos läuft und es nicht Befehlszeile ich denke.