2010-10-19 15 views
5

Need downgrade PHP 5.2.x, więc poszedłem za ten tutorial: http://andreys.info/blog/2010-03-25/compile-php-5-2-on-osx-10-6-snow-leopard#comment-631Terminal wyświetla niewłaściwą wersję php (Snow Leopard)

jestem na śniegu Leopard 10.6.4, z zainstalowanym Xcode.

Więc skompilowałem php5.2.x i ukończyłem samouczek. phpinfo() załadowane w przeglądarce na htp: // localhost mówi 5.2.x, Świetnie !! Ale polecenie Terminal "php --version" mówi 5.3.x ??

Podczas kompilacji/instalowania php5.2.x, nowy plik moduł wymienić moduł php5.3.x tutaj: /usr/libexec/apache2/libphp5.so

  1. Więc gdzie jest Terminal coraz 5.3.x z?
  2. Czy mam załadowane dwie wersje PHP?
  3. Czy powinienem się tym przejmować?
+1

Domyślam się, że masz zainstalowane obie wersje, a wywołanie 'php' uruchamia plik wykonywalny w wersji 5.3.x. – drudge

Odpowiedz

6
  1. Sprawdź za pomocą which php. To powinno Ci powiedzieć, które jest używane.
  2. Tak, wygląda na to, że masz dwa zainstalowane w różnych lokalizacjach.
  3. Tak, pamiętaj, co jest używane gdzie. Posiadanie wielu wersji jest absolutnie poprawne (przynajmniej w systemie projektowania lub testowania), ale zawsze powinieneś wiedzieć, jakie wersje są używane.
+0

"Uruchom", który php w terminalu daje:/usr/bin/php. Wygląda na to, że php, który skompilowałem, 5.2.x, znajduje się tutaj:/usr/local/php5/bin. Jak to się dzieje, gdy ładowanie php z localhost w przeglądarce używa 5.2.x, ale terminal php używa 5.3.x? Chcę tylko mieć jeden działa na raz. Co robić? – HArcher

+0

Wersja w przeglądarce jest absolutnie niezależna. Sprawdź konfigurację serwera ... jak /etc/apache/httpd.conf lub takie, które najprawdopodobniej ładuje /usr/local/php5/lib/libphp5.so lub podobne. – johannes

+0

LoadModule php5_module libexec/apache2/libphp5.so. Jednak ten plik libphp5.so jest skompilowanym plikiem dla wersji 5.2.x! Nie jest to już wersja 5.3.x dostarczana z osxem. Dlaczego terminal wyświetla numer 5.3.x? Spędzam za dużo czasu i naprawdę nie chcę uciekać się do MAMP ... Dzięki za pomoc btw – HArcher

14

na bardziej bezpośrednie rozwiązanie problemu:

  1. nazwę swojej starej wersji PHP

    sudo mv /usr/bin/php /usr/bin/php5424

  2. utworzyć dowiązanie symboliczne do nowej wersji php więc może żyć w/usr/bin

    sudo ln -s /usr/local/php5/bin/php /usr/bin/php

+0

Pracowałem dla mnie. Dzięki. – srph

+1

Dla mnie również działało, jeśli masz inną nazwę folderu zamiast php5, napotkasz ten błąd: 'dyld: Library not loaded:/usr/local/php5/lib/libtidy-0.99.0.dylib' – Spade

Powiązane problemy