ฉันจะติดตั้งส่วนขยาย 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.