Cách cài đặt và chạy phpize


215

Tôi đã có ý định cài đặt ffmpegnhư một phần mở rộng cho thiết lập PHP của tôi. Vì vậy, trước khi tôi có thể cài đặt nó, tôi cần phpizenó. Tôi cài đặt php5-devbởi sudo apt-get install php5-dev. Nhưng bây giờ khi tôi chạy, phpizetôi gặp lỗi sau:

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

Vị trí của php.ini của tôi là /usr/local/zend/etc/php.ini

Từ một tài nguyên trực tuyến khác, tôi đã thử nó

sudo apt-get install autoconf automake libtool m4

Nhưng tất cả chúng đã được cài đặt.

Xác định vị trí config.m4 không trả về bất cứ điều gì.

Bất kỳ con trỏ ở đây làm thế nào tôi có thể nhận được phpizevà do đó, ffmpeglên và chạy?

Câu trả lời:


462

Đối với các phiên bản gần đây của Debian / Ubuntu (Debian 9+ hoặc Ubuntu 16.04+) cài đặt php-devgói phụ thuộc, sẽ tự động cài đặt phiên bản chính xác cho bản php{x}-devphân phối của bạn:

sudo apt install php-dev

Các phiên bản cũ hơn của Debian / Ubuntu:

Đối với PHP 5, nó nằm trong gói php5-dev.

sudo apt-get install php5-dev

Đối với PHP 7.x (từ nhận xét rahilwazir):

sudo apt-get install php7.x-dev

RHEL / CentOS / năm

yum install php-devel # see comments

9
nếu sử dụng yum thay vì apt-get, gói thích hợp được gọi là php-devel
cheepychappy

5
yum cài đặt php-devel trên
rrc

4
Làm thế nào điều này có thể là giải pháp? Trong câu hỏi mà anh ấy nói, anh ấy đã cài đặt php5-dev.
Daniel W.

53
Đối với PHP7, bạn có thể sử dụngphp7.0-dev
Rahil Wazir

17
Đối với PHP7.1, hãy sử dụngphp7.1-dev
Nino kopac

60

Dành cho người dùng PHP7

7.1

sudo apt cài đặt php7.1-dev

7.2

sudo apt cài đặt php7.2-dev

7.3

sudo apt cài đặt php7.3-dev

7.4

sudo apt cài đặt php7.4-dev

Nếu không chắc chắn về phiên bản PHP của bạn, chỉ cần chạy lệnh php -v


11
bạn không thực sự cần phải gõ apt-get nữa. cài đặt apt là như nhau. apt-cache không còn cần phải gõ nữa hoặc chỉ cần tìm kiếm apt
Kevin Remisoski

Không tìm thấy php7.0-dev trong danh sách gói cho tôi. Thật kỳ lạ, tôi thấy php5-dev trong danh sách, nhưng không có gói php7.0 nào cả.
Solomon Closson

@SolomonClosson Nó phụ thuộc vào phiên bản HĐH bạn sử dụng.
M_R_K

1
Nếu bạn cài đặt gói php-dev thay vào đó, PHP sẽ luôn nâng cấp lên bản phát hành ổn định mới nhất. Nếu bạn cài đặt php7.0-dev và PHP 7.1 được phát hành, bạn thường sẽ không được nâng cấp lên nó.
Macroman

22

Ohk .. tôi đã có nó chạy bằng cách gõ /usr/bin/phpizethay vì chỉ phpize.


6
Trong trường hợp / usr / bin không có trong PATH của bạn, nhưng tôi đoán nó nên như vậy. Làm PATH=$PATH\:/usr/bin; export PATH, và phpizesẽ làm việc trong tương lai.
Berry Langerak

Tôi nhận được thông báo lỗi này "Không tìm thấy thư viện chia sẻ ffmpeg. Hãy chắc chắn rằng ffmpeg được biên dịch thành thư viện dùng chung - tùy chọn chia sẻ" Tôi đang sử dụng lệnh này "phpize" nó đang hoạt động nhưng khi tôi đang chạy này ". && thực hiện "lỗi này xuất hiện
Chintan Gor

14

Trong Redhat Enterprise / CentOS, sử dụng yumđể cài đặt php-develmô-đun:

yum install php-devel

Đối với PHP 7, bạn cần:

yum install php70-php-devel

1
Kết quả này No package php-devel availablecho tôi.
Phantom Watson

Đối với PHP7, tôi cần sử dụngphp70-php-devel
MECU

yum install php72-php-develcho PHP 7.2
josef

2
và sử dụng cái nàyln -s /opt/remi/php72/root/bin/phpize /usr/bin/phpize
josef

7

Hmm ... thực sự tôi không biết làm thế nào điều này giải quyết nó? Nhưng các bước sau đã giải quyết nó cho tôi:

find / -name 'config.m4'

Bây giờ hãy xem nếu config.m4 ở bất cứ đâu trong một thư mục của thứ mà bạn muốn phpize. Chuyển đến thư mục đó và chạy phpize trực tiếp trong đó.


6

Bước - 1: Nếu bạn không chắc chắn về phiên bản php đã cài đặt, trước tiên hãy chạy lệnh sau trong terminal

php -v

Đầu ra: lệnh trên sẽ xuất phiên bản php được cài đặt trên máy của bạn, của tôi là 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

Bước 2: Sau đó, để cài đặt phpize chạy lệnh sau, Vì phiên bản php của tôi là 7.2.3. tôi sẽ thay thế nó bằng 7.2, vì vậy lệnh sẽ là,

sudo apt-get install php7.2-dev

Bước 3: Xong!

Phương pháp thay thế (Tùy chọn): Để tự động cài đặt phiên bản phpize dựa trên phiên bản php được cài đặt trên máy của bạn, hãy chạy lệnh sau.

sudo apt-get install php-dev

Lệnh này sẽ tự động phát hiện phiên bản phù hợp của php đã cài đặt và sẽ cài đặt phpize phù hợp cho cùng.


5

Đối với Ubuntu 14.04LTS với php 7, vấn đề:

sudo apt-get install php-dev

Sau đó cài đặt:

pecl install memcache

vui lòng bọc các bit mã của bạn bằng backticks để nó được hiển thị dưới dạng mã
YakovL

1
Trên thực tế, chỉ sử dụng php-dev sẽ cài đặt phiên bản hiện được phát hành và duy trì cho bản phân phối của bạn. Vì vậy, trên Ubuntu 12, nó sẽ cài đặt php5-dev.
Macroman

5

Trong Ubuntu 16.04, bạn có thể cài đặt phpizebằng lệnh

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

tương đương với

apt-get install php7.1-dev // for php 7.1

2

Cài đặt từ linuxthiết bị đầu cuối

sudo apt-get install <php_version>-dev

Thí dụ :

sudo apt-get install php5-dev     #For `php` version 5
sudo apt-get install php7.0-dev   #For `php` version 7.0

1

Điều này có thể giúp ai đó trên Ubuntu. Không hứa hẹn.

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

Và thêm "extension=http.so"vào php.ini (Thường được đặt tại /etc/php5/apache2/php.ini)

Sau đó khởi động lại Apache ( sudo service apache2 restart).

Nếu nghi ngờ, hãy kiểm tra nhật ký apache của bạn:

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

Là http.so bắt đầu hay thất bại?


1

Tất nhiên trong PHP7.2

sudo apt-get install php7.2-dev

1

Đối với Ubuntu được cài đặt chạy Plesk apt-get install plesk-php56-dev, đối với các phiên bản khác, chỉ cần thay đổi XX trong phpXX (không có dấu chấm)


1

Nếu bạn gặp vấn đề với phpize không được tìm thấy trên CentOS7.6 sau khi bạn đã cài đặt các công cụ phát triển có liên quan cho phiên bản PHP của bạn, thì đường dẫn này cuối cùng đã hoạt động với tôi:

Đối với PHP 7.2.x

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

Đối với PHP 7.3.x

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

Chạy phần này trong thư mục chứa phần mở rộng PHP đã tải xuống, vd

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

0

Chuyển đến thư mục đã tải xuống và ở đó bạn tìm thấy config.m4. Mở terminal và chạy phpsize.


0

Chẳng hạn, nếu bạn muốn sử dụng lệnh "phpize" cho PHP 5.6, bạn sẽ sử dụng đường dẫn đầy đủ: Code:

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

0

Tôi đã có vấn đề chính xác này trên macOS vào năm 2018.

Đối với tôi, lần đầu tiên chạy brew install phptrước khi sudo pecl install mongodbthực hiện các mẹo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.