PHP OpenSSL extension มีแพ็คเกจหรือไม่?


22

ฉันรู้ว่านามสกุล OpenSSL อยู่ในแหล่ง PHP apt-get install php5แต่ฉันไม่สามารถเปิดใช้งานได้เมื่อผมดำเนินการ apt-get install php5-opensslไม่มีแม้กระทั่ง ฉันจะต้องดำเนินการอย่างไร


2
ฉันรู้ว่าโพสต์นี้เก่าแล้วมีเพียงข้อมูลทั่วไป โดยค่าเริ่มต้นแพคเกจของ PHP --with-openssl=[defaultpath]มีการกระจายกับ มันหมายความว่าคุณจะต้องติดตั้ง OpenSSL (หรือตัวแปรอื่น ๆ ) เช่นsudo apt-get install openssl (ตรวจสอบรุ่นของ OpenSSL ในการติดตั้งเนื่องจากHeartbleedเช่นsudo apt-cache policy openssl. ในการตรวจสอบสภาพอากาศ PHP เปิดใช้งานกับ OpenSSL เพียงแค่พิมพ์php -m | grep opensslและphp -i | grep OpenSSL.
DBF

คำตอบ:


29

ฉันคิดว่าการสนับสนุน SSL ไม่ได้ขึ้นอยู่กับส่วนขยาย แต่มันสร้างไว้แล้วใน PHP ของ Ubuntu ลองสร้างไฟล์ PHP ในเว็บเซิร์ฟเวอร์ด้วยเนื้อหานี้:

<?php phpinfo() ?>

จากนั้นเข้าถึงในเบราว์เซอร์ ( http://<server>/<file>.php) คุณควรเห็น:

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

และ

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

ฉันได้ติดตั้งแพ็คเกจ PHP เหล่านี้เท่านั้น: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql


การสร้างส่วนบุคคลถูกลืมในระบบของฉัน ... ขอบคุณ!
Tasso Evangelista

15
หรือเรียกใช้ฟังก์ชั่นในเทอร์มินัลphp -i | grep -i openssl
โอเวอร์โอเวอร์

เปิดใช้งานด่วนเพื่อแสดงรายการโมดูลทั้งหมดที่เปิดใช้งานในไบนารี PHP ของคุณในปัจจุบัน:php -i | grep enabled
JulioHM

11

ลอง :

php -i | grep -i openssl

หากคุณติดตั้งส่วนขยาย OpenSSL ไว้คุณควรเห็นดังนี้:

openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1f 6 Jan 2014
OpenSSL Header Version => OpenSSL 1.0.1f 6 Jan 2014
openssl.cafile => no value => no value
openssl.capath => no value => no value
OpenSSL support => enabled

ดูเหมือนว่าส่วนขยาย OpenSSL จะถูกติดตั้งตามค่าเริ่มต้น

อัปเดต :

หากคุณไม่ได้มีนามสกุลนี้คุณสามารถแก้ไขphp.iniไฟล์

จากphp.ini :

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;

ถ้าไม่ใช่คำตอบคืออะไร?
Braian Mellor

@BraianMellor ใน php.ini พยายามที่จะเปลี่ยนแปลง;extension=php_openssl.dllไปextension=php_openssl.dllหรืออาจจะมองหาคำตอบที่simplemachines.org/community/index.php?topic=310264.0 โชคดี!
simhumileco

.dll บน Linux คุณแน่ใจไหม?
Braian Mellor

1
โซลูชันของฉันติดตั้ง openssl โดย apt-get พิเศษสุด!
Braian Mellor

1
@BraianMellor เขียนคำตอบ :)
simhumileco

1

ฉันติดตั้งOpenSSL 1.1.0fโดยใช้

# apt-get install openssl

# php -i | grep -i openssl
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.1.0f  25 May 2017
OpenSSL Header Version => OpenSSL 1.1.0f  25 May 2017
Openssl default config => /usr/lib/ssl/openssl.cnf
openssl.cafile => no value => no value
openssl.capath => no value => no value
Native OpenSSL support => enabled

หวังว่าจะช่วยใครซักคน!

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