คุณต้องเปิดใช้งานส่วนขยาย openssl เพื่อดาวน์โหลดไฟล์ผ่าน https


123

ฉันต้องการติดตั้ง Zend Framework 2 ดังนั้นฉันจึงดาวน์โหลดแอปพลิเคชันโครงกระดูก ตามที่กล่าวไว้ในคู่มือ ZF2 เราต้องออกคำสั่ง

php composer.phar install 

ภายในโครงกระดูก.

แต่ฉันได้รับข้อผิดพลาด

คุณต้องเปิดใช้งานส่วนขยาย openssl เพื่อดาวน์โหลดไฟล์ผ่าน https

จากนั้นฉันเปิดใช้งาน ssl_module ใน wamp ของฉันฉันตรวจสอบไฟล์ php_ini และฉันเห็นบรรทัดต่อไปนี้

ขยาย = php_openssl.dll

ฉันยังคงได้รับข้อผิดพลาดเดียวกัน ใครมีเงื่อนงำอะไรที่ฉันพลาดไป?


1
ฉันมีปัญหานี้ในการเรียกใช้ travis-ci และปรากฎว่าแตกต่างจาก linux distro ทุกตัวภายใต้ดวงอาทิตย์สภาพแวดล้อม travis-ci รุ่นเก่าบางส่วนถูกคอมไพล์โดยไม่ใช้ openssl ในกรณีที่มีคนอื่นเจอปัญหาเดียวกัน
Kzqai

@Kzqai มันเป็นไปได้ที่จะรวบรวมส่วนขยายนี้ในเทรวิสเช่นสำหรับ PHP 5.3.3 ในคำถามของฉัน ? ฉันเห็นจากตำราอาหารของพวกเขาว่าคุณสามารถติดตั้งส่วนขยาย PECL ได้ แต่ฉันไม่คิดว่าส่วนขยาย openssl สามารถใช้ได้ผ่าน PECL
Jeff Puckett

คำตอบ:


286

PHP CLI SAPI ใช้ต่างphp.iniจากโมดูล CGI หรือ Apache

ค้นหาบรรทัด;extension=php_openssl.dllในwamp/bin/php/php#.#.##/php.ini และยกเลิกการแสดงความคิดเห็นโดยการลบอัฒภาค ( ;) จากจุดเริ่มต้นของบรรทัด


ฉันต้องเปิดใช้งานส่วนขยาย phar ด้วย (extension = php_phar.dll) และดังที่กล่าวไว้ด้านล่างโมดูล apache ssl!
Diego Favero

1
"PHP CLI SAPI ใช้ php.ini ต่างจากโมดูล CGI หรือ Apache" นั่นคือเคล็ดลับ!
George D.

หากคุณไม่พบบรรทัดนั้นในคุณphp.iniเพียงแค่เพิ่มบรรทัดextension=php_openssl.dllในส่วนส่วนขยายไดนามิกในนั้น
totymedli

ฉันใช้ xampp นักแต่งเพลงให้ข้อผิดพลาดที่ขาดหายไปของ ssl แบบเปิดเดียวกันแม้ว่าจะลบ ';' ของส่วนขยาย openssl ใน php.ini
Shashikumar Misal

หากคุณใช้ Mac และportคุณสามารถเลือกเวอร์ชัน PHP โดยport select php php55และติดตั้งส่วนขยายport install php55-openssl
Prabowo Murti

36

ตรวจสอบว่าคุณกำลังแก้ไขไฟล์ php.ini ที่ถูกต้อง

อ้างอิง: https://github.com/composer/composer/issues/1440

"WAMP ใช้ไฟล์ php.ini ต่างกันใน CLI และสำหรับ Apache เมื่อคุณเปิดใช้ php_openssl ผ่าน WAMP UI คุณจะเปิดใช้งานสำหรับ Apache ไม่ใช่สำหรับ CLI คุณต้องแก้ไข C: \ wamp \ bin \ php \ php- XYZ \ php.ini เพื่อเปิดใช้งานสำหรับ CLI "


2
ใครจะคิดว่า ... จริงเหรอ ... สิ่งนี้ช่วยแก้ปัญหาได้ ขอบคุณ
Ruwantha

20

ตรวจสอบให้แน่ใจว่าคุณมีเส้นทางไปยังโฟลเดอร์ส่วนขยายที่ถูกต้อง

extension_dir = "ต่อ"

โดยค่าเริ่มต้นจะแสดงความคิดเห็นด้วย; ตัวละคร


1
บรรทัดนี้ได้รับการแสดงความคิดเห็นอย่างสมบูรณ์และตอนนี้ใช้งานได้
Brian Dillingham

สำคัญสำหรับการติดตั้ง windows!
haakym

เส้นนี้อยู่ที่ไหน? อยู่ในไฟล์ใด php.ini ใน 1, C: \ wamp64 \ bin \ apache หรือ 2. C: \ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions

9

ฉันยังมีปัญหาเดียวกันในขณะที่เล่น Zend Framework 2 และนักแต่งเพลง ฉันใช้ PHP 5.4 (ติดตั้งผ่าน macports) และวิธีแก้ปัญหาของฉันคือติดตั้ง openssl สำหรับ PHP 5.4 ผ่าน macports ด้วย

sudo port ติดตั้ง php54-openssl

5

ฉันประสบปัญหานี้ แต่การกำหนดค่า openssl (สำหรับ cli) ไม่ได้ช่วย

ฉันได้อัปเดตนักแต่งเพลงและสิ่งนี้ทำให้ปัญหาของฉันแย่ลง

เพียงพิมพ์:

$ php composer.phar self-update

หรือ

$ composer selfupdate

โชคดี!


4

ฉันใช้ XAMPP ใน C: \ xampp \ php \ php.ini ไม่มีรายการสำหรับ openssl ดังนั้นฉันจึงเพิ่ม "extension = php_openssl.dll" ในบรรทัด 989 และผู้แต่งใช้งานได้


4

คุณต้องเปิดใช้งาน "extension = php_openssl.dll" ในทั้งสองไฟล์ (php และ apache) เส้นทางไฟล์พีซีของฉันคือ:

  1. C: \ WAMP \ bin \ PHP \ php5.3.13 \ php.ini

  2. C: \ WAMP \ bin \ Apache \ apache2.2.22 \ bin \ php.ini


นี่เป็นสิ่งที่ไม่ถูกต้อง ตรวจสอบกับ phpinfo () ซึ่งใช้ php.ini
ThaDafinser

3

อุตตมหากปัญหาของคุณไม่ได้รับการแก้ไขให้ลองใช้แนวทาง 3 ขั้นตอนต่อไปนี้ มันใช้ได้ผลสำหรับฉันเพราะฉันมีปัญหาเดียวกันทุกประการ

ขั้นตอนที่ 1: คลิกที่ไอคอนถาด wamp

ขั้นตอนที่ 2: ไปที่เมนู apache-> โมดูล apache

ขั้นตอนที่ 3: คลิกที่รายการเมนู "ssl_module"

มันจะรีสตาร์ท wamp โดยอัตโนมัติ หาก wamp ไม่รีสตาร์ทโดยอัตโนมัติให้รีสตาร์ทผ่านเมนูถาด wamp-> รีสตาร์ทบริการทั้งหมด หลังจากรีสตาร์ทยืนยันว่า "ssl_module" มาตามที่ติ๊กไว้ใต้เมนู apache-> โมดูล apache

หลังจากนั้นให้ลองติดตั้ง php composer.phar จากการตอบสนองที่คุณแชร์ไฟล์ php.ini ประกอบด้วย extension = php_openssl.dll และไดเรกทอรี php / ext ยังมีไฟล์ "php_openssl.dll"

โชคดี


3

คำตอบของ Valery ช่วยฉัน: https://stackoverflow.com/a/14265815/492457

WAMP ใช้ไฟล์ php.ini ต่างกันใน CLI และสำหรับ Apache เมื่อคุณเปิดใช้ php_openssl ผ่าน WAMP UI คุณจะเปิดใช้งานสำหรับ Apache ไม่ใช่สำหรับ CLI คุณต้องแก้ไข C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini เพื่อเปิดใช้งานสำหรับ CLI


2

ตรวจสอบให้แน่ใจว่าคุณอัปเดตสำหรับphp.ini CLIสำหรับกรณีของฉันนี้เป็นC:\wamp\bin\php\php5.4.3\php.iniและ uncomment extension=php_openssl.dllบรรทัด


1

คำตอบช้า แต่เพิ่มเพื่อให้คนอื่นได้เรียนรู้เหตุผล

คุณต้องแก้ไขไฟล์ php.ini ในตำแหน่ง "wamp \ bin \ php \ php-XYZ"


0

ฉันต้องยกเลิกการแสดงความคิดเห็นextension=opensslในphp.iniไฟล์เพื่อให้ทุกอย่างทำงานได้!


0

ระวังถ้าคุณใช้ wamp อย่าใช้ wamp ui เพื่อเปิดใช้งาน extension=php_openssl.dll

เพียงไปที่ไดเร็กทอรี php ของคุณตัวอย่างเช่นC:\wamp\bin\php\php5.4.12แก้ไขphp.iniและยกเลิกการใส่เครื่องหมายextension=php_openssl.dll.

มันควรจะทำงาน

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