จะตรวจสอบว่ามีการใช้ PHP ตัวใดอยู่
ตัวอย่างเช่นหากมี/usr/local/bin/php
และusr/local/bin/php5
ฉันจะรู้ได้อย่างไรว่าสคริปต์ PHP ของฉันถูกใช้งานอันใด
จะตรวจสอบว่ามีการใช้ PHP ตัวใดอยู่
ตัวอย่างเช่นหากมี/usr/local/bin/php
และusr/local/bin/php5
ฉันจะรู้ได้อย่างไรว่าสคริปต์ PHP ของฉันถูกใช้งานอันใด
คำตอบ:
หากคุณใช้ PHP CLI ให้ลองใช้คำสั่งเชลล์ theese (ฉันสมมติว่าคุณใช้ linux ที่นี่)
which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands
หากคุณกำลังใช้ PHP เป็นโมดูล Apache แล้ว phpinfo () จะบอกคุณ php รุ่นที่ใช้และ php ไฟล์ config ที่ไม่ใช่เส้นทางของ หากคุณมีไฟล์ php ที่สามารถเรียกใช้งานได้ 2 เวอร์ชั่นนี่จะช่วยคุณได้ หากพวกเขาเป็นรุ่นเดียวกันมันก็ไม่สำคัญว่าใครจะเป็นใคร :)
หากคุณต้องการทราบรุ่นของ php ดังนั้น php -v จะพิมพ์เวอร์ชันของ php ใน CLI และโมดูล Zend ที่ติดตั้งไว้
หากคุณต้องการค้นหาไฟล์ ini ที่รวมอยู่ php --ini จะแสดงรายการไฟล์ ini ที่โหลดโดยโมดูล php (ซึ่งใช้กับเวอร์ชัน CLI)
เพียงเพิ่มสคริปต์ง่ายๆ
<?php phpinfo(); ?>
สมมติว่าคุณกำลังใช้งานผ่านเว็บเซิร์ฟเวอร์:
คุณสามารถใส่ฟังก์ชั่นต่อไปนี้ในสคริปต์:
<?php
phpinfo();
?>
หากวิธีนี้ใช้ไม่ได้อาจเป็นเพราะฟังก์ชั่นนี้ถูกปิดใช้งานใน php.ini สิ่งนี้มักจะทำเพื่อความปลอดภัย หากเป็นกรณีนี้คุณจะมีบรรทัดใน php.ini ของคุณเช่น:
disable_functions = phpinfo
หากเป็นกรณีนี้ให้เปลี่ยนเป็นการชั่วคราว
disable_functions =
หากคุณใช้ php สำหรับ Shell Scripts:
ควรมี 'เส้นแนว' ที่ด้านบนสุดคล้าย
#! / usr / local / bin / php -q
คุณแน่ใจหรือว่าไม่มีลิงก์ smybolic ลิงก์อื่น ทำ
ls -l / usr / local / bin / php
อย่า ;-)
นอกจากนี้จาก commandline:
$ php -v
PHP 5.2.6-3ubuntu4 กับ Suhosin-Patch 0.9.6.2 (cli) (สร้าง: มี.ค. 31 2009 02:11:31) ลิขสิทธิ์ (c) 1997-2008 The PHP Group Zend Engine v2.2.0, ลิขสิทธิ์ (c) 1998- เทคโนโลยี Zend ปี 2008
<?php
// prints e.g. 'Current PHP version: 4.1.1'
echo 'Current PHP version: ' . phpversion();
?>
หากคุณกำลังพูดถึงเว็บสคริปต์ของคุณที่ Apache webserver เรียกใช้และ PHP ถูกกำหนดค่าเป็นโมดูล Apache คำตอบคือไม่มี
สถานที่ที่คุณพูดถึงในคำถามของคุณคือล่ามสคริปต์บรรทัดคำสั่งที่จะมีการเรียกโดยสัญกรณ์ Shebang เช่น
#!/usr/local/bin/php
ที่ด้านบนสุดของสคริปต์บรรทัดคำสั่ง php ของคุณ
คุณสามารถโทรหาล่ามที่คุณพูดถึงแยกกันเนื่องจากมีชื่อต่างกัน
# php
จะเรียก / usr / local / bin / php และ
# php5
จะเรียก / usr / local / bin / php5
ไม่ใช้อย่างใดอย่างหนึ่งหากคุณใช้ PHP ผ่านโมดูล Apache ถ้าคุณใช้ CGI-Version ของ php มันควรจะแสดงใน phpinfo (); เอาท์พุต
<?php phpinfo(); ?>
<?php echo shell_exec('which php'); ?>
สิ่งนี้ใช้ได้แม้ว่าคุณจะไม่สามารถเข้าถึงเชลล์ได้ ;-)
which
คำสั่งคือสิ่งที่ฉันต้องการ