ตรวจสอบเวอร์ชัน PHP ที่ฉันใช้บน Linux


104

ฉันใช้ Centos 5 และฉันจำเป็นต้องรู้ PHP เวอร์ชันใดที่ฉันใช้อยู่มีคำสั่งสำหรับสิ่งนี้ที่ฉันสามารถเรียกใช้ได้หรือไม่?

คำตอบ:


180

ลองเรียกใช้สิ่งต่อไปนี้ที่บรรทัดคำสั่ง

วิธีรับข้อมูลรุ่น:

php -v

หรือรับข้อมูลจำนวนมาก:

php -i

ควรให้ข้อมูลทั้งหมดที่คุณต้องการเกี่ยวกับการติดตั้ง php


17
+1 PHP -v เป็นจำนวนมากได้เร็วขึ้น
hyperslug

5
ขอบคุณสิ่งนี้ใช้ได้ :-) php -i | grep 'PHP เวอร์ชัน' ให้ฉันคำตอบ
Roland

3
เพียงแค่ระมัดระวังว่าเวอร์ชัน CLI ของ PHP (ตรวจสอบจากบรรทัดคำสั่ง) อาจแตกต่างจากที่ให้บริการโดยเว็บเซิร์ฟเวอร์ของคุณ (แสดงโดย phpinfo ())
Akshay Raje

@AkshayRaje อย่างแน่นอน คนส่วนใหญ่ที่ถามว่า "ฉันใช้ PHP รุ่นอะไร?" มักจะอ้างถึงโมดูล Apache / Nginx PHP ไม่ใช่ PHP CLI ข้อมูล PHP CLI นั้นไม่มีส่วนเกี่ยวข้องกับโมดูล PHP ที่ใช้โดย Apache / Nginx 100%
JakeGould

และ php-cli อาจจะไม่ได้รับการติดตั้งในระบบ
Furkat U.

18

คุณสามารถสร้างindex.phpไฟล์ด้วย

<?php phpinfo() ?>

7
นี่เป็นข้อได้เปรียบของการทำงานกับเซิร์ฟเวอร์ที่คุณไม่สามารถใช้งาน ssh ได้แม้ว่าโดยส่วนตัวแล้วฉันจะชอบ <? php?> สำหรับการป้องกันในอนาคต: P
Phoshi

อ่าใช่ฉันมีนิสัยชอบใช้แท็ก ASP
hyperslug

2
ในเว็บไซต์ PHP ใด ๆมักจะเห็นเวอร์ชันในX-Powered-Byส่วนหัวในแต่ละ PHP ที่สร้างการตอบสนอง HTTP เมื่อคุณไม่มีสิทธิ์เข้าถึง SSH บางครั้งก็สามารถใช้phpshell.sourceforge.netได้ (แม้ว่าจะมีการดูแลมากเหมือนหนึ่งต้องการที่จะตรวจสอบว่าโฟลเดอร์ที่สามารถเขียนได้ก่อนที่จะเรียกใช้tarคำสั่ง.)
Arjan

อย่างแรกนี่คือคำตอบ คนส่วนใหญ่ที่ถามว่า "ฉันใช้ PHP เวอร์ชันอะไร" มักจะอ้างถึงโมดูล Apache / Nginx PHP และไม่ใช่ PHP CLI ข้อมูล PHP CLI นั้นไม่มีส่วนเกี่ยวข้องกับโมดูล PHP ที่ใช้โดย Apache / Nginx 100% แต่ @Arjan ยังผู้ดูแลระบบจำนวนมากปิดการใช้งานเซิร์ฟเวอร์ส่วนหัว“ X-Powered-By” ส่งออกเป็นส่วนหนึ่งของการเสริมความปลอดภัย ในขณะที่ดูเหมือนว่าสะดวกสำหรับนักพัฒนาส่วนหัวเช่นนั้นทำให้คุณอยู่ใน "รายการดูด" สำหรับการโจมตีบ็อตเน็ต หากคุณเรียกใช้เซิร์ฟเวอร์และวิธีหลักที่คุณกำหนดเวอร์ชันของ PHP ก็คือ“ X-Powered-By” กระบวนการของคุณมีข้อบกพร่องอย่างมาก
JakeGould

นี่ควรเป็นคำตอบที่ถูกต้อง
Nico

12

คำตอบได้รับการยอมรับ แต่อีกทางเลือกหนึ่งสำหรับระบบ RPM (RHEL, Centos, Fedora และอื่น ๆ ) คือการใช้สิ่งต่อไปนี้:

rpm -q php

และในขณะที่ฉันอยู่ที่นี่วิธีการทั่วไปในการใช้ RPM เพื่อค้นหาข้อมูลเกี่ยวกับแพคเกจสำหรับโปรแกรมหรือไฟล์ที่ติดตั้ง rpm นั้นคล้ายกับสิ่งนี้ (สำหรับ awk):

  1. ค้นหาพา ธ แบบเต็มไปยังไฟล์หากไม่ทราบเช่นสำหรับไฟล์สั่งการใน $ PATH:

    พิมพ์ -path awk

  2. ค้นหาชื่อรวมถึงเวอร์ชันของแพ็กเกจที่มีไฟล์:

    รอบต่อนาที -qf / usr / bin / awk

  3. หากต้องการให้สอบถามข้อมูลจากแพ็คเกจดังกล่าว:

    รอบต่อนาที -qi gawk

มันค่อนข้างยุ่งยากสำหรับแพ็กเกจที่ติดตั้งและใช้งานโดย Apache เนื่องจากอาจไม่ได้อยู่ที่ $ PATH แต่คุณสามารถเริ่มต้นด้วย:

รอบต่อนาที -qa | egrep -i 'php | awk'


3

ใช้

more /etc/php.ini

สิ่งนี้จะแสดง:

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