Jak zainstalować i uruchomić phpize

215

Zamierzałem zainstalować ffmpegjako rozszerzenie mojej konfiguracji PHP. Więc zanim będę mógł go zainstalować, muszę to phpizezrobić. Zainstalowałem php5-devprzez sudo apt-get install php5-dev. Ale teraz po uruchomieniu pojawia phpizesię następujący błąd:

phpize
Cannot find config.m4. 
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module

Lokalizacja mojego php.ini to /usr/local/zend/etc/php.ini

Próbowałem tego z innego zasobu online

sudo apt-get install autoconf automake libtool m4

Ale wszystkie z nich są już zainstalowane.

Zlokalizuj config.m4 niczego nie zwrócił.

Wszelkie wskazówki tutaj, w jaki sposób mogę uzyskać, phpizea tym samym ffmpeguruchomić?

Hrishikesh Choudhari
źródło

Odpowiedzi:

465

W przypadku najnowszych wersji Debian / Ubuntu (Debian 9+ lub Ubuntu 16.04+) zainstaluj php-devpakiet zależności, który automatycznie zainstaluje poprawną wersję php{x}-devdla Twojej dystrybucji:

sudo apt install php-dev

Starsze wersje Debian / Ubuntu:

W przypadku PHP 5 jest on w pakiecie php5-dev.

sudo apt-get install php5-dev

Dla PHP 7.x (z komentarza rahilwazir):

sudo apt-get install php7.x-dev

RHEL / CentOS / yum

yum install php-devel # see comments
Zaciemnienie
źródło
9
jeśli używasz yum zamiast apt-get, odpowiedni pakiet nazywa się php-devel
cheepychappy
5
mniam zainstaluj php-devel na rhel / centos
andrej
4
Jak to może być rozwiązanie? W pytaniu, które powiedział, zainstalował już php5-dev.
Daniel W.
53
W przypadku PHP7 możesz użyćphp7.0-dev
Rahil Wazir
17
W przypadku PHP7.1 użyjphp7.1-dev
Nino Škopac,
62

Dla użytkowników PHP7

7.1

sudo apt install php7.1-dev

7.2

sudo apt install php7.2-dev

7.3

sudo apt install php7.3-dev

7.4

sudo apt install php7.4-dev

Jeśli nie jesteś pewien swojej wersji PHP, po prostu uruchom polecenie php -v

M_R_K
źródło
13
tak naprawdę nie musisz już pisać apt-get. apt install jest taki sam. apt-cache nie musi już być wpisywany albo po prostu apt search
Kevin Remisoski
php7.0-dev nie znajduje się na liście pakietów dla mnie. Dziwne, widzę php5-dev na liście, ale w ogóle nie ma pakietów php7.0.
Solomon Closson,
@ SolomonClosson Zależy to od używanej wersji systemu operacyjnego.
M_R_K,
1
Jeśli zamiast tego zainstalujesz pakiet php-dev, PHP zawsze zaktualizuje się do najnowszej stabilnej wersji. Jeśli zainstalujesz php7.0-dev i PHP 7.1 zostanie wydane, na ogół nie będziesz do niego uaktualniony.
MacroMan
Czy możesz zaktualizować swoją odpowiedź i dodać rozwiązanie dla PHP 8? Teraz, gdy PHP8 alfa 1 jest tutaj ...
7ochem
22

Ohk .. Uruchomiłem to, pisząc /usr/bin/phpizezamiast tylko phpize.

Hrishikesh Choudhari
źródło
8
W takim przypadku / usr / bin nie ma w ŚCIEŻCE, ale chyba tak powinno być. Czy PATH=$PATH\:/usr/bin; export PATHi phpizebędzie działać w przyszłości.
Berry Langerak,
Otrzymałem ten komunikat o błędzie „Nie znaleziono bibliotek współdzielonych ffmpeg. Upewnij się, że ffmpeg jest skompilowany jako biblioteki współdzielone za pomocą opcji --enable-shared” Używam tej komendy „phpize”, ale działa, ale uruchamiam to ./configure && make ”ten błąd nadchodzi
Chintan Gor
14

W Redhat Enterprise / CentOS użyj, yumaby zainstalować php-develmoduł:

yum install php-devel

Do PHP 7 potrzebujesz:

yum install php70-php-devel
fedorqui „SO przestań szkodzić”
źródło
1
To powoduje No package php-devel availabledla mnie.
Phantom Watson
Do PHP7 musiałem użyćphp70-php-devel
MECU
yum install php72-php-develdla PHP 7.2
josef
2
i ln -s /opt/remi/php72/root/bin/phpize /usr/bin/phpize
użyjcie
7

Hmm ... właściwie nie wiem jak to rozwiązało? Ale następujące kroki rozwiązały to dla mnie:

find / -name 'config.m4'

Teraz sprawdź, czy config.m4 znajduje się gdzieś w folderze rzeczy, które chcesz phpize. Przejdź do tego folderu i uruchom tam phpize.

Brednie
źródło
6

Krok - 1: Jeśli nie masz pewności co do zainstalowanej wersji php, najpierw uruchom następującą komendę w terminalu

php -v

Wyjście: powyższe polecenie wyświetli wersję php zainstalowaną na twoim komputerze, moja to 7.2

PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.3-1ubuntu1, Copyright (c) 1999-2018, by Zend Technologies

Krok 2: Następnie, aby zainstalować phpize, uruchom następującą komendę, ponieważ moja wersja php to 7.2.3. Zamienię go na 7.2, więc polecenie będzie:

sudo apt-get install php7.2-dev

Krok 3: Gotowe!

Metoda alternatywna (opcjonalna): Aby automatycznie zainstalować wersję phpize na podstawie wersji php zainstalowanej na twoim komputerze, uruchom następującą komendę.

sudo apt-get install php-dev

To polecenie automatycznie wykryje zainstalowaną odpowiednią wersję php i zainstaluje pasujące phpize dla tego samego.

Manoj Selvin
źródło
5

Dla Ubuntu 14.04LTS z php 7, problem:

sudo apt-get install php-dev

Następnie zainstaluj:

pecl install memcache
pingle60
źródło
proszę owinąć bity kodu
znakami wstecznymi
1
Właściwie, użycie tylko php-dev zainstaluje wersję aktualnie wydaną i utrzymywaną dla twojej dystrybucji. Więc na Ubuntu 12 zainstaluje php5-dev.
MacroMan
5

W Ubuntu 16.04 można zainstalować phpizeza pomocą polecenia

aptitude install php7.1-dev // for php 7.1

co jest równoważne z

apt-get install php7.1-dev // for php 7.1
num3ri
źródło
2

Zainstaluj z linuxterminala

sudo apt-get install <php_version>-dev

Przykład:

sudo apt-get install php5-dev     #For `php` version 5
sudo apt-get install php7.0-dev   #For `php` version 7.0
Sumon Sarker
źródło
1

To może pomóc komuś na Ubuntu. Bez obietnic.

sudo apt-get install libcurl3 php5-dev libcurl4-gnutls-dev libmagic-dev
sudo apt-get install php-http make
sudo pecl install pecl_http

I dodawanie "extension=http.so"do php.ini (zwykle znajduje się w /etc/php5/apache2/php.ini)

Następnie uruchom ponownie Apache ( sudo service apache2 restart).

W razie wątpliwości sprawdź dzienniki Apache:

sudo su --
cd /var/log/apache2
tail -25 error.log

Czy http.so zaczyna się, czy nie?

ted.strauss
źródło
1

Oczywiście w PHP7.2

sudo apt-get install php7.2-dev
HMagdy
źródło
1

W przypadku Ubuntu z zainstalowanym uruchomieniem Plesk apt-get install plesk-php56-dev, w innych wersjach wystarczy zmienić XX w phpXX (bez kropki)

Sanel
źródło
1

Jeśli masz problemy z phpize, którego nie znaleziono na CentOS7.6 po zainstalowaniu odpowiednich narzędzi programistycznych dla twojej wersji / wersji PHP, ta ścieżka w końcu dla mnie zadziałała:

Dla PHP 7.2.x

/opt/cpanel/ea-php72/root/usr/bin/phpize

Dla PHP 7.3.x

/opt/cpanel/ea-php73/root/usr/bin/phpize

Uruchom to w swoim folderze zawierającym pobrane rozszerzenie PHP, np

cd /php-ext-brotli
/opt/cpanel/ea-php73/root/usr/bin/phpize
./configure --with-php-config=/opt/cpanel/ea-php73/root/usr/bin/php-config
make
make test
TheOldMan2000
źródło
0

Przejdź do pobranego folderu i tam znajdziesz config.m4. Otwórz terminal i uruchom phpsize.

Santosh rai
źródło
0

Na przykład, jeśli chcesz użyć polecenia „phpize” dla PHP 5.6, użyłbyś pełnej ścieżki: Kod:

/opt/cpanel/ea-php56/root/usr/bin/phpize
Shobhit Verma
źródło
0

Miałem dokładnie ten problem na macOS w 2018 roku.

Dla mnie pierwszy bieg zrobił brew install phpwcześniej sudo pecl install mongodb.

Adam Diament
źródło