ฉันจะติดตั้งส่วนขยาย ext-curl ด้วย PHP 7 ได้อย่างไร


188

ฉันติดตั้ง PHP 7 โดยใช้repo นี้แต่เมื่อฉันพยายามเรียกใช้composer installมันมีข้อผิดพลาดนี้:

  • [แพ็คเกจ] ต้องการ ext-curl * -> ส่วนขยาย PHP ที่ร้องขอนั้นหายไปจากระบบของคุณ

ด้วย PHP 5 คุณสามารถติดตั้งได้อย่างง่ายดายโดยการรันคำสั่งyumหรือapt-get install php5-curlแต่ฉันไม่สามารถหาวิธีการติดตั้ง PHP 7 ที่เทียบเท่าได้

ฉันจะติดตั้ง ext-curl สำหรับ PHP 7 ได้อย่างไร


3
ติดตั้ง libcurl ก่อนเช่น yum install libcurl or apt-get install libcurl. หลังจากนั้นกำหนดค่า php 7 ของคุณด้วย curl ./configure --with-curlและสร้างและติดตั้งในที่สุด
— Haridarshan

@Haridarshan ใช่แล้วไม่เป็นไร แต่มันก็ไม่สะดวก
— Nino Škopac

ฉันสร้างและติดตั้ง php 7 ด้วย curl และส่วนขยายอื่น ๆ คุณอาจต้องติดตั้งไลบรารี devel
— Haridarshan

คำตอบ:


443

ฉันสามารถติดตั้งได้โดย:

sudo apt-get install php-curl

ในระบบของฉัน นี้จะติดตั้งแพคเกจการพึ่งพาซึ่งขึ้นอยู่กับรุ่น php เริ่มต้น

หลังจากนั้นรีสตาร์ท apache

sudo service apache2 restart

36
.. และเริ่มบริการใหม่ sudo service apache2 เริ่มใหม่
— Sydwell

1
เฉพาะในกรณีที่คุณใช้รุ่น apache webserver คุณไม่จำเป็นต้องเริ่ม apache ใหม่สำหรับหลักสูตร CLI
— CommandZ

gd2 ในทำนองเดียวกัน, xmlrpc, สบู่, ฯลฯ - ตัวอักษรขนาดเล็กทั้งหมดต่อท้ายทำงาน
— msanjay

5
แทนที่จะรีสตาร์ท apache2 ของบริการ sudo, บริการ sudo apache2 รีโหลด
— sudip

สิ่งนี้ขึ้นอยู่กับแพ็คเกจที่มีอยู่ในแหล่ง APT ครั้งแรกปรับปรุงแพคเกจ APT apt-get updateใช้ จากนั้นพิมพ์apt-get install phpและกดแท็บสองครั้ง มันจะขอการยืนยันเพื่อแสดงรายการทั้งหมดเช่นDisplay all n possibilities? (y or n):ที่ N คือจำนวนความเป็นไปได้ที่มีอยู่ กด Y และคุณจะได้รับรายการแพคเกจที่มีให้เลือกมากมายซึ่งคุณสามารถค้นหาชื่อแพ็คเกจที่คุณต้องการ แน่นอนถ้าคุณมีรายชื่อยาวนี่จะน่าเบื่อนิดหน่อย แต่คุณยังสามารถ จำกัด ให้แคบลงตามรุ่น
— Romeo Sierra

98

โปรดลอง

sudo apt-get install php7.0-curl

9
คุณไม่ควรระบุหมายเลขเวอร์ชั่นหากคุณไม่ต้องการมันอย่างชัดเจน มิฉะนั้นคุณอาจติดตั้งเวอร์ชั่นเก่าโดยไม่ตั้งใจ
— phil294

2
รหัสเท่านั้นและคำตอบ "ลองนี้" จะหมดกำลังใจ ฉันประหลาดใจที่คุณใช้เวลานานกว่าจะได้คะแนนเดียว
— RamenChef

2
ในกรณีของฉันฉันต้องระบุเวอร์ชันเพื่อให้ทำงานได้ ฉันเดาว่าเป็นเพราะฉันติดตั้งมากกว่าหนึ่งรุ่นในระบบของฉัน
— padawanTony

1
หากอัปเกรดจาก PHP 5.5 / 5.6 การระบุหมายเลขเวอร์ชันนั้นเป็นสิ่งจำเป็น
— AlexL

sudo apt install curlทุกคนต้องรู้เพิ่มเติมว่าทำไมถึงเป็นเช่นนั้น?
— Dheeraj

25

หากคำสั่ง "sudo apt-get install php-curl" ไม่ทำงานและแสดงข้อผิดพลาดเราควรเรียกใช้รหัสนี้ก่อนติดตั้ง curl

  • ขั้นที่ 1 - sudo add-apt-repository ppa: ondrej / php
  • ขั้นที่ 2 - อัปเดต sudo apt-get
  • step3 - sudo apt-get install php-curl
  • ขั้นตอนที่ 4 - sudo บริการ apache2 รีสตาร์ท

1
ฉันไม่รู้ว่าทำไมผู้คนถึงลงคะแนนลงมือทำมันอาจจะทำงานได้
— จระเข้สีเขียวตัวใหญ่

1
ใช่มันใช้งานได้ BTW ในขั้นตอนที่ 3 คุณสามารถเลือกเวอร์ชัน php ที่แท้จริงได้
— iliaz

1
บางครั้งจำเป็นต้องระบุเวอร์ชันของ php ของคุณ ตัวอย่างเช่น: step3 sudo apt-get install php7.1-curl ps คุณช่วยฉันจากคืนที่ยาวนาน!
— Vladimir Ch

17

ฉันลองวิธีแก้ปัญหาข้างต้น แต่มันไม่ได้ผลสำหรับฉันแค่ใส่คนอื่นในรองเท้าเดียวกันนี่เป็นสิ่งที่ฉันทำ ฉันอัพเดต apt-get ด้วยคำสั่งต่อไปนี้

sudo add-apt-repository ppa:ondrej/php

ฉันนี้ติดตั้งกับ PHP curl สำหรับรุ่นของ php ที่ฉันใช้ฉันเป็น

sudo apt-get install php7.1-curl

คำตอบอื่น ๆ นำฉันไปสู่ข้อสรุปเดียวกันแน่นอน สมมติว่ามันถูกต้องสำหรับตอนนี้ที่คำตอบอื่นถูกต้องสำหรับเวลาของตัวเอง ฉันจะตรวจสอบว่ามันใช้งานได้กับ Ubuntu 18.04, Apache 2 ซึ่งดีกว่า "php-curl" แบบง่าย ๆ ซึ่งพยายามโหลดเวอร์ชัน PHP7.2 ที่ (สำหรับฉัน) ฉันต้องการใช้ 7.1 ต่อไป อย่าลืมรีสตาร์ทเว็บเซิร์ฟเวอร์ หลังจากนี้ซึ่ง phpinfo () ใช้เพื่อแสดง cURL ใต้ส่วน Module Authors (Sterling Hughes) ตอนนี้ cURL มีส่วนรายละเอียดที่เป็นของตัวเองมากในปัจจุบันที่ 7.58.0
— TonyG

คุณเป็นฮีโร่ตัวจริง
— Berk Kaya

นี่ควรเป็นคำตอบที่ยอมรับได้ คำตอบที่มีคะแนนโหวตมากกว่าไม่ได้ช่วยฉัน
— Marcelo Agimóvel

11

เราสามารถติดตั้ง PHP7 Extensions ที่เราต้องการได้ในเวลาที่ติดตั้ง Magento เพียงแค่ใช้คำสั่งที่เกี่ยวข้องซึ่งคุณได้รับข้อผิดพลาดในเวลาที่ installin Magento

sudo apt-get install php7.0-curl
sudo apt-get install php7.0-dom
sudo apt-get install php7.0-mcrypt
sudo apt-get install php7.0-simplexml
sudo apt-get install php7.0-spl
sudo apt-get install php7.0-xsl
sudo apt-get install php7.0-intl
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-ctype
sudo apt-get install php7.0-hash
sudo apt-get install php7.0-openssl
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-xmlwriter
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-iconv

ขอบคุณ! หวังว่านี่จะช่วยคุณได้


คำตอบของคุณไม่ได้เพิ่มคุณค่าใด ๆ
— เตฟาน Vierkant

คำตอบของคุณไม่มีข้อมูลใหม่ โปรดดูคำตอบอื่น ๆ
— Stephan Vierkant

3
นี่เป็นคำตอบที่ดีมากเนื่องจากผู้ที่กำลังมองหา curl อาจมีคำถามต่อไปในใจของเขาเกี่ยวกับ mcrypt และดังนั้นจึงเป็นประโยชน์อย่างมากที่จะมีทุกสิ่งที่นั่น
— TheKitMurkit

5

ก่อนเข้าสู่เซิร์ฟเวอร์ของคุณและตรวจสอบเวอร์ชัน PHP ที่ติดตั้งบนเซิร์ฟเวอร์ของคุณ

จากนั้นเรียกใช้คำสั่งต่อไปนี้:

sudo apt-get install php7.2-curl

sudo service apache2 restart

แทนที่รุ่น PHP (php7.2) ด้วยเวอร์ชัน PHP ของคุณ


2

หากคุณใช้ PHP7.1 (ลองphp -versionค้นหารุ่น PHP ของคุณ)

sudo apt-get install php7.1-curl

จากนั้นรีสตาร์ท apache

sudo service apache2 restart

1
ฉันชอบคำตอบนี้เพราะระบุหมายเลขรุ่น คำตอบที่ยอมรับนั้นไม่แม่นยำมาก
— Aaron Liu

2

ฉันได้รับข้อผิดพลาดว่าส่วนขยาย CURL หายไปขณะติดตั้งWebMail Lite 8บนWAMP (เช่นบน Windows)

หลังจากอ่านที่libeay32.dllจำเป็นซึ่งมีอยู่ในโฟลเดอร์การติดตั้ง PHP บางส่วนเท่านั้น (เช่น 7.1.26) ฉันเปลี่ยนเวอร์ชั่น PHP ที่ใช้งานจาก 7.2.14 เป็น 7.1.26 ในเมนูเวอร์ชันของ WAMP PHP และข้อผิดพลาดเกิดขึ้น ไป


ฉันต้องทำเช่นนี้เพื่อให้ CURL ทำงาน (ฉันพยายามคัดลอก libeay32.dll จากรุ่น 7.0.10 ไปยังโฟลเดอร์ 7.3.8 แต่ไม่ทำงาน) ไม่แน่ใจว่าทำไมไฟล์ไลบรารีนี้หายไปจากการติดตั้ง php 7.3.8 ใหม่
— Stefan

1

ติดตั้งphp70w ทั่วไป

มันมีphp-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, ph--filter, php-ftp, php-gettext, php-gettext php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlibPHP-zlib

https://webtatic.com/packages/php70/


6
การติดตั้ง 'php-curl' ก็เพียงพอแล้ว :-)
— Stephan Vierkant

0

ผู้ใช้ Windows:

หมายเหตุ: หมายเหตุสำหรับผู้ใช้ Win32 เพื่อเปิดใช้งานโมดูลนี้ในสภาพแวดล้อม Windows, libeay32.dll และ ssleay32.dll หรือในฐานะของ OpenSSL 1.1 libcrypto- .dll และ libssl- .dll ต้องแสดงอยู่ใน PATH ของคุณ นอกจากนี้ libssh2.dll จะต้องมีอยู่ในเส้นทางของคุณ คุณไม่ต้องการ libcurl.dll จากไซต์ cURL

https://www.php.net/manual/en/curl.installation.php

เพิ่ม C: \ wamp \ bin \ php \ php7.1.15 ใน PATH ของคุณ

เริ่มบริการทั้งหมด


0

หากคุณมี 404 หรือข้อผิดพลาดในขณะที่sudo apt-get install php-curlลอง

sudo apt-get update

และลองอีกครั้ง

sudo apt-get install php-curl

แต่สังเกตว่าติดตั้งรุ่นใด (ฉันใช้ php7.3 และ php7.4-curl ถูกติดตั้ง - ดังนั้นมันจะไม่ทำงาน)

ลองดู

sudo apt-get install php7.3-curl

ในตอนท้ายคุณอาจต้องการเริ่มบริการเช่น: apache2 หรือ php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

สิ่งนี้ใช้ได้สำหรับฉัน

ตรวจสอบว่าขดอยู่ในรายการโมดูลที่ติดตั้งสำหรับ php ปัจจุบัน:

php -m

ป้อนคำอธิบายรูปภาพที่นี่


-2

ลองถ้าคุณได้รับ E: Unable to locate package {packageName}

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php-curl

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