Wypróbowałem to 100 razy, jestem naprawdę nowy w Ubuntu i zakończyłem błędem, którego nawet nie rozumiem, czy ktoś może mi pomóc?
Oto co zrobiłem:
- Zainstalowałem PHP
- Zainstalowałem libcurl, a następnie php5-dev
- Próbowałem zainstalować rozszerzenie PECL i jest napisane, że
PHPIZE
nie znaleziono.
Odpowiedzi:
Po pierwsze, trzeba będzie zainstalować PEAR poprzez
apt-get
aby uzyskać niezbędne system pakietów i dystrybucji, że zarównoPEAR
iPECL
użytkowania. W wierszu poleceń wpisz:Zostaniesz poproszony o potwierdzenie instalacji. Wystarczy nacisnąć „y” i wejść. Jeśli wszystko pójdzie dobrze, powinieneś pobrać i zainstalować pakiet php-pear.
Teraz musisz zainstalować pakiet php5-dev, aby uzyskać niezbędne pliki źródłowe PHP5 do skompilowania dodatkowych modułów. Wpisz następujące polecenie w wierszu poleceń powłoki:
Jeśli nie zainstalujesz pakietu php5-dev i spróbujesz zainstalować rozszerzenie PECL za pomocą „pear install”, pojawi się następujący błąd:
Rozszerzenie PECL_HTTP wymaga zainstalowania dodatkowego pakietu zależności. Prawdopodobnie możesz pominąć to w przypadku innych rozszerzeń:
Teraz jesteśmy w końcu gotowi do zainstalowania rozszerzenia. W wierszu poleceń powłoki wpisz następujące, ale zastępuj „pecl_http” instalowaną nazwą rozszerzenia PECL:
Instalator może zapytać o niektóre opcje instalowanego rozszerzenia. Prawdopodobnie możesz po prostu nacisnąć Enter jeden lub więcej razy, aby zaakceptować wszystkie wartości domyślne, chyba że chcesz ustawić określone opcje dla swojej implementacji. Jeśli wszystko pójdzie dobrze, moduł powinien pobrać, skompilować i zainstalować.
Po zakończeniu instalacji prawdopodobnie poprosi cię o dodanie wiersza „extension =” do pliku php.ini. Otwórz plik php.ini w swoim ulubionym edytorze tekstów i dodaj wiersz pod sekcją „Rozszerzenia dynamiczne”. W Ubuntu plik php.ini wydaje się znajdować w folderze / etc / php5 / apache2:
W tym przykładzie instalacja rozszerzenia pecl_http poprosiła mnie o dodanie „extension = http.so”. Teraz, gdy plik php.ini został zaktualizowany, Apache będzie musiał zostać zrestartowany, aby załadować nowe rozszerzenie:
źródło
źródło
make
Przed wykonaniem tej czynności może być konieczne zainstalowanie . Po prostu zróbsudo apt-get install make
php7.0-dev
zamiast tego potrzebujesz pakietu:sudo apt-get install php7.0-dev
Oprócz odpowiedzi @ Ask musiałem też zrobić:
przed uruchomieniem,
pecl install pecl_http
ponieważ otrzymywałem ten błąd dotyczącypcre.h
:Oprócz edycji
php.ini
pliku utworzyłem nowy plik o nazwiepecl-http.ini
wconf.d
podkatalogu, w którymphp.ini
plik się znajdował (na ubuntu/etc/php5/apache2/conf.d
)I musiałem dodać w trzech wierszach:
Wreszcie, ponieważ ta zainstalowana wersja
2.0.6
nie mogła korzystać z tejhttp_get_request_headers
funkcji, ale zamiast tego potrzebowałem użyć wersji z przestrzenią nazw,\http\Env::getRequestHeader()
zobacz więcej szczegółów tutajps: nie zapomnij zrestartować apache po zakończeniu (
service apache2 restart
)źródło
extension=json.so
przedhttp.so
wierszem, mimo żejson.ini
plik już zawieraconf.d
.Oprócz odpowiedzi Maythux i cwd możesz nie chcieć edytować pliku php.ini, ponieważ zmiany te mogą zostać utracone podczas aktualizacji.
Debian (a zatem Ubuntu) obsługuje moduły php w taki sam sposób jak moduły apache. Spójrz
/etc/php5
, znajdziesz takie katalogi:Kiedy spojrzysz w głąb
mods-available
, zobaczysz kilka plików takich jak:Aby włączyć / wyłączyć te dostępne mody dla wszystkich interfejsów API (apache, cli, cgi), możesz po prostu użyć poleceń
php5enmod
lub w tenphp5dismod
sposób:odpowiednio
Spowoduje to utworzenie (lub usunięcie) dowiązań symbolicznych do pliku konfiguracyjnego modułu w
apache2/conf.d/
icli/conf.d/
.Możesz także określić sapi, aby włączyć / wyłączyć mod (apache w tym przypadku):
pecl install
może nie utworzyć pliku konfiguracyjnego dlaraphf
(i innych zainstalowanych z nim modułów), ale możesz go utworzyć samodzielnie:Następnie napisz w następujących wierszach:
Domyślny priorytet to 20. Może to zależeć od typu modułu, którego priorytetu należy użyć. Na
raphf
20 wydaje się w porządku. ( Aktualizacja : jeśli szukasz pecl_http, począwszy od wersji 2 to musi być załadowany porapfh
ipropro
tak ustawić priorytet wmods-available/http.ini
celu30
).Dzięki temu możesz włączyć moduł:
(Uwaga: moja odpowiedź zależy od Ubuntu 14.04, ale może działać w jednakowy sposób dla 13.04, patrz http://www.lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu )
źródło
Teraz dni, zainstaluj PEAR w ten sposób, aby pobrać go ze źródła:
źródło