วิธีการติดตั้งและเรียกใช้ phpize


215

ฉันหมายถึงการติดตั้งffmpegเป็นส่วนเสริมในการตั้งค่า PHP ของฉัน ดังนั้นก่อนที่ผมจะสามารถติดตั้งได้ฉันต้องphpizeมัน ผมติดตั้งโดยphp5-dev sudo apt-get install php5-devแต่ตอนนี้เมื่อฉันเรียกใช้phpizeฉันได้รับข้อผิดพลาดต่อไปนี้:

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

ตำแหน่งของ php.ini ของฉันคือ /usr/local/zend/etc/php.ini

จากแหล่งข้อมูลออนไลน์อื่นฉันพยายามนี้

sudo apt-get install autoconf automake libtool m4

แต่ทั้งหมดได้รับการติดตั้งแล้ว

ค้นหา config.m4 ไม่ส่งคืนสิ่งใด

คำแนะนำใด ๆ ที่นี่ฉันจะได้รับphpizeและทำให้ffmpegและทำงานได้อย่างไร

คำตอบ:


465

สำหรับรุ่นล่าสุดของ Debian / Ubuntu (Debian 9+ หรือ Ubuntu 16.04+) ให้ติดตั้งphp-devแพ็คเกจการพึ่งพาซึ่งจะติดตั้งรุ่นที่ถูกต้องphp{x}-devสำหรับการแจกจ่ายของคุณโดยอัตโนมัติ:

sudo apt install php-dev

รุ่นเก่ากว่าของ Debian / Ubuntu:

สำหรับ PHP 5 มันอยู่ในแพ็คเกจ php5-dev

sudo apt-get install php5-dev

สำหรับ PHP 7.x (จากความคิดเห็น rahilwazir):

sudo apt-get install php7.x-dev

RHEL / CentOS / yum

yum install php-devel # see comments

9
ถ้าใช้ yum แทน apt-get, แพ็คเกจที่เหมาะสมเรียกว่า php-devel
cheepychappy

5
yum ติดตั้ง php-devel บน rhel / centos
andrej

4
สิ่งนี้จะเป็นทางออกได้อย่างไร ในคำถามที่เขาพูดเขาติดตั้ง php5-dev แล้ว
แดเนียลดับบลิว

53
สำหรับ PHP7 คุณสามารถใช้php7.0-dev
Rahil Wazir

17
สำหรับ PHP7.1 ให้ใช้php7.1-dev
Nino Škopac

62

สำหรับผู้ใช้ PHP7

7.1

sudo apt ติดตั้ง php7.1-dev

7.2

sudo apt ติดตั้ง php7.2-dev

7.3

sudo apt ติดตั้ง php7.3-dev

7.4

sudo apt ติดตั้ง php7.4-dev

หากไม่แน่ใจเกี่ยวกับ PHP เวอร์ชันของคุณเพียงแค่เรียกใช้คำสั่ง php -v


13
คุณไม่จำเป็นต้องพิมพ์ apt-get อีกต่อไป apt ติดตั้งเหมือนกัน apt-cache ไม่จำเป็นที่จะต้องพิมพ์อีกต่อไปไม่ว่าจะเป็นเพียงแค่การค้นหา apt
Kevin Remisoski

ไม่พบ php7.0-dev ในรายการแพ็กเกจสำหรับฉัน แปลกฉันเห็น php5-dev ในรายการ แต่ไม่มีแพ็คเกจ php7.0 เลย
โซโลมอน Closson

@SolomonClosson มันขึ้นอยู่กับเวอร์ชั่นของระบบปฏิบัติการที่คุณใช้
M_R_K

1
หากคุณติดตั้งแพ็คเกจ php-dev แทน PHP จะอัปเกรดเป็นรุ่นล่าสุดที่เสถียรเสมอ หากคุณติดตั้ง php7.0-dev และ PHP 7.1 ออกมาโดยทั่วไปคุณจะไม่ได้รับการอัพเกรด
MacroMan

คุณสามารถปรับปรุงคำตอบของคุณและเพิ่มโซลูชันสำหรับ PHP 8 ได้หรือไม่ ตอนนี้ PHP8 alpha 1 อยู่ที่นี่ ...
7ochem

22

ohk .. ฉันได้มันทำงานโดยการพิมพ์แทนเฉพาะ/usr/bin/phpizephpize


8
ในกรณีใด / usr / bin ไม่ได้อยู่ใน PATH ของคุณ แต่ฉันเดาว่ามันควรจะเป็น ทำPATH=$PATH\:/usr/bin; export PATHและphpizeจะทำงานในอนาคต
Berry Langerak

ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ "ไม่พบไลบรารีที่ใช้ร่วมกัน ffmpeg ตรวจสอบให้แน่ใจว่าได้รวบรวม ffmpeg เป็นไลบรารีที่ใช้ร่วมกันโดยใช้ตัวเลือก --enable-shared" ฉันกำลังใช้คำสั่งนี้ "phpize" มันทำงานได้ แต่เมื่อฉันใช้งาน && ทำ "ข้อผิดพลาดนี้เกิดขึ้น
Chintan Gor

14

ภายใต้ Redhat Enterprise / CentOS ใช้yumเพื่อติดตั้งphp-develโมดูล:

yum install php-devel

สำหรับ PHP 7 คุณต้อง:

yum install php70-php-devel

1
ผลลัพธ์นี้No package php-devel availableสำหรับฉัน
Phantom Watson

สำหรับ PHP7 ฉันต้องใช้php70-php-devel
MECU

yum install php72-php-develสำหรับ PHP 7.2
josef

2
และใช้สิ่งนี้ln -s /opt/remi/php72/root/bin/phpize /usr/bin/phpize
josef

7

อืม ... จริงๆแล้วฉันไม่รู้ว่ามันจะแก้ปัญหาได้อย่างไร? แต่ขั้นตอนต่อไปนี้แก้ไขได้สำหรับฉัน:

find / -name 'config.m4'

ตอนนี้ดูว่า config.m4 อยู่ในโฟลเดอร์ของสิ่งที่คุณต้องการทำให้เป็น phpize ไปที่โฟลเดอร์นั้นและเรียกใช้ phpize โดยตรง


6

ขั้นตอน - 1:หากคุณไม่แน่ใจเกี่ยวกับการติดตั้งเวอร์ชัน php อันดับแรกให้รันคำสั่งต่อไปนี้ในเทอร์มินัล

php -v

เอาท์พุท:คำสั่งดังกล่าวจะส่งออกรุ่น php ติดตั้งบนเครื่องของคุณเหมืองเป็น 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

ขั้นตอนที่ 2:จากนั้นทำการติดตั้ง phpize รันคำสั่งต่อไปนี้เนื่องจากเวอร์ชั่น php ของฉันคือ 7.2.3 ฉันจะแทนที่ด้วย 7.2 ดังนั้นคำสั่งจะเป็น

sudo apt-get install php7.2-dev

ขั้นตอนที่ 3:เสร็จสิ้น!

วิธีสำรอง (ไม่บังคับ): เพื่อติดตั้ง phpize version โดยอัตโนมัติตามเวอร์ชั่น php ที่ติดตั้งบนเครื่องของคุณให้รันคำสั่งต่อไปนี้

sudo apt-get install php-dev

คำสั่งนี้จะตรวจจับ php รุ่นที่เหมาะสมที่ติดตั้งโดยอัตโนมัติและจะติดตั้ง phpize ที่ตรงกันสำหรับเดียวกัน


5

สำหรับ Ubuntu 14.04LTS ที่มี php 7 ปัญหา:

sudo apt-get install php-dev

จากนั้นติดตั้ง:

pecl install memcache

โปรดห่อบิตโค้ดของคุณด้วย backticks เพื่อให้มันแสดงเป็นรหัส
YakovL

1
ที่จริงแล้วการใช้เพียงแค่ php-dev จะติดตั้งเวอร์ชันที่วางจำหน่ายในปัจจุบันและปรับปรุงสำหรับ distro ของคุณ ดังนั้นใน Ubuntu 12 มันจะติดตั้ง php5-dev
MacroMan

5

ใน Ubuntu 16.04 คุณสามารถติดตั้งได้phpizeด้วยคำสั่ง

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

ซึ่งเทียบเท่ากับ

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


1

สิ่งนี้อาจช่วยบางคนในอูบุนตู ไม่มีสัญญา.

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

และเพิ่ม"extension=http.so"ไปยัง php.ini (โดยปกติอยู่ที่/etc/php5/apache2/php.ini)

จากนั้นรีสตาร์ท Apache (sudo service apache2 restart )

หากมีข้อสงสัยให้ตรวจสอบบันทึก apache ของคุณ:

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

http.so เริ่มต้นหรือล้มเหลว



1

สำหรับ Ubuntu ที่มีการติดตั้ง Plesk apt-get install plesk-php56-devแล้วสำหรับรุ่นอื่น ๆ เพียงแค่เปลี่ยน XX ใน phpXX (โดยไม่ใส่จุด)


1

หากคุณมีปัญหากับ phpize ที่ไม่พบใน CentOS7.6 หลังจากที่คุณติดตั้งเครื่องมือ devel ที่เกี่ยวข้องสำหรับ PHP เวอร์ชัน / s ของคุณเส้นทางนี้ใช้งานได้ในที่สุด:

สำหรับ PHP 7.2.x

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

สำหรับ PHP 7.3.x

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

เรียกใช้สิ่งนี้ในโฟลเดอร์ของคุณที่มีนามสกุล PHP ที่ดาวน์โหลดเช่น

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

ตัวอย่างเช่นหากคุณต้องการใช้คำสั่ง "phpize" สำหรับ PHP 5.6 คุณจะใช้เส้นทางแบบเต็ม: รหัส:

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

0

ฉันมีปัญหาตรงนี้กับ macOS ในปี 2018

สำหรับฉันแล้วการวิ่งครั้งแรกbrew install phpก่อนที่จะsudo pecl install mongodbทำเคล็ดลับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.