คำเตือนผู้แต่ง: ส่วนขยาย openssl หายไป วิธีเปิดใช้งานใน WAMP


133

กำลังพยายามติดตั้งเครื่องมือการจัดการการพึ่งพาComposerบนWin7 / 64 + WampServer 2.2ผ่านโปรแกรมติดตั้งและฉันได้รับข้อความต่อไปนี้:

ไม่มีส่วนขยาย openssl ซึ่งจะลดความปลอดภัยและเสถียรภาพของนักแต่งเพลง ถ้าเป็นไปได้คุณควรเปิดใช้งานหรือคอมไพล์ php ใหม่ด้วย --with-openssl

นี่คือสิ่งที่ฉันทำ ...

  1. จากไอคอน Wamp ของฉันใน Tray ให้คลิก php > php extensions > php_openssl
  2. สิ่งนี้แสดงให้เห็นว่างานเสร็จสมบูรณ์โดยวางเครื่องหมายถูกข้างส่วนขยาย
  3. จากนั้นฉันรีสตาร์ท WampServer
  4. จากไอคอน Wamp ในถาดฉันคลิกphp > php.iniและค้นหา openssl เพื่อตรวจสอบว่ามันไม่ได้แสดงความคิดเห็น) มันไม่ใช่
  5. จากนั้นฉันก็กลับไปที่ Composer-Setup.exe แล้วลองอีกครั้ง ข้อความเตือนเดียวกัน : "openssl extension is missing"
  6. ต้องไม่เคยทำงานร่วมกับ OpenSSL, ผมไม่แน่ใจว่าสิ่งที่ควรจะได้รับการตั้งดังนั้นฉันพยายามที่จะเรียกให้เป็นหนึ่งในเว็บไซต์ท้องถิ่นของฉันใช้ https มันล้มเหลว

ฉันขาดอะไรไป?

กรุณาแนะนำ.


ว้าว. ฉันเพิ่งไปที่ Google เพื่อลองรับข้อมูลเพิ่มเติมและโพสต์นี้ปรากฏในผลการค้นหา แล้ว? ไอ้นั่นเร็วไป : -}
ตู้นอน

คุณรีสตาร์ทเว็บเซิร์ฟเวอร์หรือไม่
periklis

ใช่ฉันรีสตาร์ทเซิร์ฟเวอร์แล้ว
ตู้นอน

ไม่แน่ใจว่าคุณพยายามใช้ ssl มากแค่ไหน แต่อาจช่วยได้: phpjoel.com/2011/04/07/… . หากวิธีนี้ไม่ช่วยคุณคุณสามารถลองใช้วิธีการติดตั้งใหม่ที่ดีในการแก้ไขปัญหาหลังจากที่คุณสำรองฐานข้อมูลและไฟล์
Cameeob2003

ฉันเพิ่งอัปเกรดเวอร์ชันของฉันบน WampServer เป็นเวอร์ชันล่าสุด ข้อความเดียวกัน. ฉันแค่ติดตั้งต่อไป จนถึงขณะนี้ไม่มีข้อผิดพลาดที่เห็นได้ชัดเจน แปลก.
ตู้นอน

คำตอบ:


317

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


2
คุณบันทึกความรักของฉันที่ฉันรู้สึกว่าจะ laravel ... ทำไมพวกเขาถึงไม่ออกจากการติดตั้งเหมือนในเวอร์ชั่นเก่า :)
ทอม

1
heck laravel พาฉันมาที่นี่
tomexsans

1
ฉันใช้ uwamp ฉันจะหาไฟล์ ini ได้ที่ไหน
Sujeet Kumar

คำตอบยังใช้งานได้กับ EasyPHP (คลิกขวาที่ไอคอนถาดระบบ EasyPHP เลือก Configuration | PHP ซึ่งเปิด php.ini ใน Notepad ค้นหา openssl ยกเลิกการใส่เครื่องหมายบรรทัด)
stifin

ฉันควรทำอย่างไรกับ xampp .. ฉันได้รับข้อผิดพลาดเช่นไม่สามารถส่งข้อความนี้ได้ ข้อผิดพลาดของจดหมาย: ส่วนขยายหายไป: openssl,,
ชิ้น

28

นอกเหนือจากการไม่ใส่ความคิดเห็น;extension=php_openssl.dllในบรรทัดphp.iniที่คนอื่นพูดถึงแล้วคุณยังต้องแน่ใจว่า;extension_dir = "ext"บรรทัดนั้นไม่มีการใส่ความคิดเห็นด้วย หากต้องการยกเลิกการแสดงความคิดเห็นให้ลบอัฒภาคที่นำหน้าแล้วบันทึก

บรรทัดนั้นอาจไม่มีการใส่ความคิดเห็นในแพ็คเกจเช่น WAMP และ XAMPP แต่ไม่ได้อยู่ในการดาวน์โหลด PHP ธรรมดาสำหรับ Windows ดังนั้นจึงควรตรวจสอบ นอกจากนี้คุณต้องสร้างphp.iniไฟล์โดยการคัดลอกหนึ่งในตัวอย่างเช่นไปยังแฟ้มใหม่แล้วชื่อมันphp.ini-development php.iniจากนั้นทำการเปลี่ยนแปลงที่นั่น

นอกจากนี้ในอนาคตในการติดตั้งเครื่องมือเช่น PHP และ Composer ขอแนะนำให้ใช้ตัวจัดการแพ็คเกจ Chocolatey choco install composerจากนั้นมันก็เป็นธรรมดาที่ แน่นอนว่าคุณยังต้องแก้ไข php.ini ก่อนที่จะติดตั้ง Composer ด้วยวิธี choco ใน Windows เวอร์ชันอนาคตเครื่องมือการจัดการแพ็คเกจเช่น Chocolatey จะถูกอบลงใน Windowsเช่นเดียวกับapt-getใน Ubuntu ช่วงเวลาที่น่าตื่นเต้นสำหรับนักพัฒนา!

ด้วยวิธีใดวิธีหนึ่งหลังจากติดตั้ง Composer อย่าลืมรีสตาร์ทเทอร์มินัลของคุณ ไม่ว่าคุณจะใช้ Command Prompt, Bash (ติดตั้งด้วย Git) หรือ Powershell คุณจะต้องรีสตาร์ทก่อนที่ตัวแปรสภาพแวดล้อมที่อัปเดตจะทำงาน


4
นี่คือคำตอบที่ถูกต้องหากคุณกำลังพยายามติดตั้งนักแต่งเพลงบน Windows 10 และทำตามคำแนะนำ
ปล้น

แน่นอน .. นี่เป็นเรื่องจริง .. ฉันรู้เรื่องนี้ แต่ลืมเกี่ยวกับextบรรทัดนั้นบน Windows ขอบคุณที่เตือน
WM

16

ฉันมีปัญหาเดียวกันแม้ว่าจะเปิดใช้งาน openssl ปัญหาคือโปรแกรมติดตั้ง Composer กำลังดูไฟล์กำหนดค่านี้:

C: \ wamp \ bin \ php \ php5.4.3 \ php.ini

แต่ไฟล์ config ที่โหลดมานั้นมีอยู่จริง:

C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini

ดังนั้นฉันจึงต้องยกเลิกการแสดงความคิดเห็นในไฟล์ php.ini แรกและนั่นก็เป็นเคล็ดลับ นี่คือวิธีการติดตั้ง WAMP บนเครื่องของฉันตามค่าเริ่มต้น ฉันไม่ได้ไปเปลี่ยนอะไรดังนั้นสิ่งนี้อาจเกิดขึ้นกับคนอื่นเช่นกัน โดยพื้นฐานแล้วนี่ก็เหมือนกับคำตอบของ Augie Gardner ข้างต้น แต่ฉันแค่ต้องการชี้ให้เห็นว่าคุณอาจมีไฟล์ php.ini สองไฟล์


เส้นทาง Bydefault ที่ระบุขณะติดตั้งผิดชี้ไปที่แก้ไข php.exe แก้ไขปัญหาได้ขอบคุณ
Sandesh Damkondwar

12

ไม่แสดงความคิดเห็น;extension=php_openssl.dllทั้งสองอย่าง

wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

มันจะทำงาน


ฉันใช้ xampp .. ดังนั้นฉันจึงแก้ไข 2 ไฟล์ชื่อ c / php / php.ini และ c / apache / bin / php.ini .. ลบเซมิโคลอนในนี้ extension = php_openssl.dll .. แต่ยังคงมีข้อผิดพลาดเหมือนกันเช่น ข้อผิดพลาดของจดหมายนี้: ส่วนขยายหายไป: openssl ..
ชิ้น

@saina คุณรีสตาร์ทเซิร์ฟเวอร์หรือไม่ เรียกใช้ phpinfo () ด้วยเพื่อตรวจสอบตำแหน่งของไฟล์คอนฟิกูเรชัน
Ivanka Todorova

5

C: \ laravel-master> composer create-project laravel / laravel การติดตั้ง laravel / laravel (v4.0.6) - การติดตั้ง laravel / laravel (v4.0.6) [RuntimeException] คุณต้องเปิดใช้งานส่วนขยาย openssl เพื่อดาวน์โหลดไฟล์ผ่าน https

ฉันใช้ EasyPhp (ประเภท WAMP) ในไอคอน EasyPHP ในแถบงานคลิกขวาและเลือกการกำหนดค่าจากนั้นเลือก PHP ฉันจะเปิดการPHP.iniกำหนดค่าไฟล์ใน Notepad ค้นหาค้นหาหรือCTRL+ F ใน notepad สำหรับคำที่OPENSSLคุณจะพบสิ่งนี้;extension=php_openssl.dllเพียงแค่ลบ; และextension=php_openssl.dllใช้งานอยู่

C: \ laravel-master> ผู้แต่งสร้างโปรเจ็กต์ laravel / laravel การติดตั้ง laravel / laravel (v4.0.6) - การติดตั้ง laravel / laravel (v4.0.6) การดาวน์โหลด: 100% โปรเจ็กต์ที่สร้างใน C: \ laravel-master \ laravel กำลังโหลดตัวแต่ง ที่เก็บที่มีข้อมูลแพ็คเกจการติดตั้งการอ้างอิง (รวมถึงความต้องการ - dev)


ฉันรู้ว่ามันไม่ตรงประเด็น แต่คุณติดตั้งนักแต่งเพลงด้วย EasyPhp ได้อย่างไรฉันได้รับข้อผิดพลาดและต้องติดตั้งใหม่ทั้งหมด
HenryW

2

คุณต้องแก้ไขไฟล์ "c: \ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini" สำหรับ:; extension = php_openssl.dll

ลบอัฒภาคที่จุดเริ่มต้น

หมายเหตุ: หากการบันทึกไฟล์ไม่ได้ผลคุณต้องแก้ไขในฐานะผู้ดูแลระบบ (บน win7) ไปที่เมนู start ค้นหา notepad คลิกขวาที่ notepad คลิก "Run As Administrator"

ในหน้าต่างการติดตั้งของนักแต่งเพลงเพียงคลิกย้อนกลับไปแล้วถัดไป (หรือปิดแล้วเริ่มใหม่อีกครั้ง) และมันควรจะใช้งานได้


2

เปิด wamp / bin / apache / apache2.4.4 / bin / php config .. การตั้งค่า wamp / bin / php / php5.4.16 / php conf, การผลิต php-ini, php-ini dev, phpForApache ค้นหาส่วนขยาย = php_openssl.dll และ uncomment โดยการลบ;


การทำสำเนาที่เป็นไปได้ของstackoverflow.com/questions/14062055/…
blackmind

1

สั้นและไพเราะไม่ใส่ข้อคิดเห็นบรรทัดนี้ในwamp/bin/php/php5.3.13(หรือเวอร์ชัน php ใด ๆ ):
;extension=php_openssl.dll (ลบ;)
ตอนนี้เรียกใช้การติดตั้งบรรทัดคำสั่งของ Composer คุณจะไม่มีข้อผิดพลาด
ไปดี!




0

สำหรับการติดตั้ง Composer ขั้นตอนด้านล่างใช้ได้ผลกับฉัน: (WAMP เวอร์ชัน 2.4 x64bit)

edit ->
**C:\wamp\bin\php\php5.4.12\php.ini**
;;uncomment below line or remove the semicolons ';'
extension=php_openssl.dll

**C:\wamp\bin\apache\Apache2.4.4\bin\php.ini**

extension=php_openssl.dll

0

คำตอบทั้งหมดนั้นดี แต่ในความเป็นจริงหากคุณต้องการทำความเข้าใจไดเรกทอรีส่วนขยายจะต้องถูกต้องหากคุณต้องการให้ส่วนขยายที่ไม่มีการแสดงความคิดเห็นทั้งหมดทำงานได้ สามารถเขียนเส้นทางกายภาพหรือสัมพัทธ์เช่น

extension_dir = "C:/myStack/php/ext"

หรือ

extension_dir = "../../php/ext"

มันสัมพันธ์กับเว็บเซิร์ฟเวอร์ httpd.exe Apache (C: \ myStack \ apache \ bin) แต่ถ้าคุณต้องการให้มันทำงานร่วมกับนักแต่งเพลงหรืออะไรก็ตามที่คุณต้องการทางกายภาพเนื่องจากโหมด cli ไม่ได้ใช้เว็บเซิร์ฟเวอร์!


0

ฉันประสบปัญหาเดียวกัน ฉันเปลี่ยนชื่อโฟลเดอร์ php จากphp7_winxxxxเป็นแค่ php และใช้งานได้ดี มันดูเหมือนนักแต่งเพลงที่ได้รับการตรวจสอบสถานที่ตั้งโมดูล php_openssl c:/php/extใน

นอกจากนี้คุณยังอาจต้องเพิ่มc:/phpไปPATHในตัวแปรสภาพแวดล้อม

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