Polecenie uruchamijące plik symfony zwraca błąd

Polecenie uruchamijące plik symfony zwraca błąd
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Chcę sobie trochę przetestować symfony więc chciałem utworzyć nowy projekt więc uruchomiłem w katalogu /usr/local/bin plik symfony, ale dostałem błąd o takiej treści.

Kopiuj
Fatal error: Uncaught PharException: zlib extension is required for gz compressed .phar file "/usr/local/bin/symfony" in /usr/local/bin/symfony:9
Stack trace:
#0 /usr/local/bin/symfony(9): Phar::mapPhar('default.phar')
#1 {main}
  thrown in /usr/local/bin/symfony on line 9
 
Tumeg
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 8 lat
  • Postów:687
0
edytowany 1x, ostatnio: Tumeg
Zobacz pozostały 1 komentarz
Tumeg
On już jest zainstalowany, masz go tylko włączyć.
pol90
To oznacza ./configure --with-zlib --with-zlib=DIR , że muszę kompilować.
pol90
zainstalowałem zlib i zmieniłem wpis w pliku .php.ini, ale nadal to samo.
dzek69
zrestartuj serwer. i odpisuj na temat postami, a nie komentarzami!
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Zrestartowałem serwer.

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Rzeszów
0

To sprawdź w phpinfo() czy dobry php.ini edytujesz, a jeżeli tak to w logach czy nie ma jakichś błędów ładowania rozszerzenia. przy okazji w phpinfo() sprawdzisz też załadowane rozszerzenia.


damonsson
gdybyś miał widoczne w php.ini, a by nie działało, sprawdź jeszcze: var_dump(function_exists('gzopen'));
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Dobry plik konfiguracyjny edytuje.

gdybyś miał widoczne w php.ini, a by nie działało, sprawdź jeszcze: var_dump(function_exists('gzopen'));

bool(true)

edytowany 1x, ostatnio: pol90
damonsson
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:29
0

I nadal masz błąd? To niemożliwe, bo gzopen jest metodą z rozszerzenia zlib. Robisz tego dump'a w tym samym pliku?

edytowany 1x, ostatnio: damonsson
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Tego dumpa robię po stronie serwera(www), a symfony uruchamiam w konsoli.

damonsson
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:29
0

No czyli odpalasz php-cli i php-fpm(czy co tam masz). 2 różne php.ini. Odpal sobie w konsoli

Kopiuj
php --ini

i zobaczysz, który php.ini musisz edytować.

pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

To polecenie zwróciło

Kopiuj
 Configuration File (php.ini) Path: /usr/local/lib

Nie ma tam pliku php.ini

Dodam, że mam jeszcze drugą wersje php zainstalowaną ze żródeł a mianowicie php 7 więc nie wiem z jakiej wersji php korzysta symfony więć podejrzałem plik symfony tam jest taka ścieżka

#!/usr/bin/env php

Więc korzysta z chyba php 5 chyli tej /usr

I wydałem takie polecenie

./env php --ini

Configuration File (php.ini) Path: /usr/local/lib

I znowu informacje, że korzysta z tego katalogu tylko tam nie ma pliku php.ini

damonsson
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:29
0

Dla potwierdzenia możesz sobie odpalić which -a php, żeby zobaczyć jaki jest odpalany.

Ok czyli coś źle skompilowałeś. Spróbuj czy kopia php.ini, tego który działa do tego folderu pomoże. Jeżeli nie to musisz jeszcze raz skompilować (koniecznie daj make clean) PHP z tą opcją --with-config-file-path=ścieżka . Powinno chyba zadziałać, ale nie jestem pewien. Tak ogólnie nie wiem jakiego systemu używasz, ale jeśli debian'opochodne, to PHP7 masz dostępny w repozytoriach dotdeb (https://www.dotdeb.org/), bez bawienia się w kompilowanie.

edytowany 2x, ostatnio: damonsson
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Dla potwierdzenia możesz sobie odpalić which -a php, żeby zobaczyć jaki jest odpalany.

Z tego polecenia wynika, że są dwa uruchomione

Kopiuj
/usr/local/bin/php
/usr/bin/php
 

A teraz takie pytanie co można zrobić, żeby symfony zmusić do odpalenia z php 5 bo z tego php 7 chyba nic nie będzie, bo zauważyłem, że jak skopiowałem plik php.ini do tego katalogu to mi symfony trochę więcej błędów drukuje więc wolę się w php 7 nie bawić.

damonsson
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:29
0

Trochę namotałeś i nie wiem czy to wszystko zadziała jak powinno skoro się dwa procesy php uruchamiają. Ale spróbuj po prostu ustawić alias php na tę wersję którą chcesz mieć. EDIT: Jeśli odpalasz php app/console oczywiście. Jak robisz samo app/console to odpali Ci się to co już wkleiłeś z 1. linijki pliku console, więc wtedy tam edytuj wersję, która ma się odpalić.

edytowany 1x, ostatnio: damonsson
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Po wydaniu polecenia php powinna się uruchamiać wersja php 5, a uruchamia się php 7 jak ręcznie uruchomię plik /usr/bin/php to uruchamia się wersja php 5, natamiast po wydaniu polecenia env php uruchamia się php 7 to jest dziwne bo to nie jest w katalogu local no i teraz nie wiem jak zmienić ten plik env bo może być używany gdzieś głębiej w php.

damonsson
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:29
0

No dobra, czyli edytuj plik console i 1. linijka niech wygląda dokładnie tak:

Kopiuj
#!/usr/bin/php

Wtedy jak odpalisz app/console czy tam console jak jesteś już w folderze app, to będziesz miał tak jakbyś ręcznie uruchomił PHP5. Tylko to jest takie załatanie problemu, koniec końców musisz sobie ogarnąć ten serwer.

pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Po tej zmianie dostaje następny błąd.

Kopiuj
PHP Fatal error:  Uncaught exception 'PharException' with message 'phar "/usr/local/bin/symfony" SHA1 signature could not be verified: broken signature' in /usr/local/bin/symfony:9
Stack trace:
#0 /usr/local/bin/symfony(9): Phar::mapPhar('default.phar')
#1 {main}
  thrown in /usr/local/bin/symfony on line 9

 
damonsson
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:29
1

Ahh dobra, to jest instalator nie zauważyłem (czemu nie krzyczałeś, że edytujesz plik symfony a nie żaden console), czyli nie możesz zmieniać jego treści, bo się hash nie zgadza wtedy i dostajesz ten błąd. Przywróć poprzedni plik koniecznie. To musisz powalczyć z tym env i tam ustawić odpowiednią wartość, co też jest rozwiązaniem łatającym. Ogarnij serwer, wywal PHP7, albo ustaw 2 wersje PHP, ale tak jak powinno być, nie mogą się odpalać 2 jednocześnie.

edytowany 1x, ostatnio: damonsson
pol90
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:1181
0

Teraz działa dzięki, ale pliku mojego projektu utworzył mi w katalogu /usr/loca/bin, a chyba powinien w katalogu apacha.

Zobacz pozostałe 2 komentarze
damonsson
Zdecydowanie: http://symfony.com/ nie ma lepszego.
pol90
A jakiegoś po polsku ?
damonsson
Nie znam, zapomnij o języku polskim, nic tu ciekawego nie znajdziesz.
12
Jak chcesz to zerknij na: https://symfony2-docs-pl.readthedocs.org/pl/latest/ lub http://symfony-docs.pl/ ale nie wiem czy są do końca OK bo dopiero sprawdzam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.