phpinfo () - มีวิธีง่ายๆในการดูไหม


123

ทุกครั้งที่ฉันต้องการเห็นphpinfo();ฉันต้อง:

  • สร้างไฟล์ info.php;
  • เขียนphpinfo();ในนั้น
  • ไปที่เบราว์เซอร์และพิมพ์ "thisproject.dev/info.php" ของฉัน

ฉันใช้ Ubuntu

ไม่มีวิธีที่เป็นประโยชน์กว่าในการดู phpinfo ในเบราว์เซอร์หรือไม่?


2
ตามที่ @Jaitsu และ Brian Gordon เขียนไว้คุณสามารถเข้าถึง PHP ผ่านทางบรรทัดคำสั่ง แต่สิ่งที่พวกเขาไม่ได้กล่าวถึงคือบางครั้ง PHP ในบรรทัดคำสั่งจะแตกต่างจากใน Apache กล่าวคือทำงานในโหมดต่างๆและอาจมีการกำหนดค่าที่แตกต่างกัน ไฟล์
binaryLV

@binaryLV จุดดีสิ่งหนึ่งที่ฉันมองข้ามเมื่อฉันตอบ
JamesHalsall

คำตอบ:


221

จากบรรทัดคำสั่งของคุณคุณสามารถเรียกใช้ ..

php -i

ฉันรู้ว่าไม่ใช่หน้าต่างเบราว์เซอร์ แต่คุณไม่สามารถดูphpinfo();เนื้อหาได้โดยไม่ต้องเรียกใช้ฟังก์ชัน เห็นได้ชัดว่าแนวทางที่ดีที่สุดคือการมีสคริปต์ phpinfo ในรูทของไดเรกทอรีเว็บเซิร์ฟเวอร์ของคุณด้วยวิธีนี้คุณสามารถเข้าถึงได้ตลอดเวลาผ่านทางhttp://localhost/info.phpหรือสิ่งที่คล้ายกัน (หมายเหตุ: อย่าทำสิ่งนี้ในสภาพแวดล้อมการผลิตหรือที่ใดที่หนึ่ง สามารถเข้าถึงได้โดยสาธารณะ)

แก้ไข: ตามที่กล่าวไว้โดย binaryLV เป็นเรื่องปกติที่จะมี php.ini สองเวอร์ชันต่อการติดตั้ง หนึ่งสำหรับอินเตอร์เฟสบรรทัดคำสั่ง (CLI) และอีกอันสำหรับอินเทอร์เฟซเว็บเซิร์ฟเวอร์ หากคุณต้องการดูเอาต์พุต phpinfo สำหรับเว็บเซิร์ฟเวอร์ของคุณตรวจสอบให้แน่ใจว่าคุณระบุพา ธ ไฟล์ ini ตัวอย่างเช่น ...

php -c /etc/php/apache2/php.ini -i 

10
อย่าลืมรักษาความปลอดภัยเนื่องจากphpinfo()ไม่ควรเข้าถึงแบบสาธารณะ
binaryLV

นอกจากนี้ยังมีเหตุผลที่ดีที่จะไม่เชื่อมโยง 2 php.iniโดยเฉพาะอย่างยิ่งหากคุณทำงานบนเซิร์ฟเวอร์สาธารณะ
JohnnyQ

คุณควรใช้แฟล็ก -c และส่งต่อในพา ธ สำหรับไฟล์. ini ที่เหมาะสมแทนที่จะทำอะไรบางอย่างเช่น symlinking หรือ whatnot
Chris Rasys

@ChrisRasys ทำไมคุณถึงต้องการระบุทุกครั้งที่คุณเรียกใช้สคริปต์ CLI
JamesHalsall

@JamesHalsall หากคุณต้องการจำลองการตั้งค่า PHP ที่เว็บเซิร์ฟเวอร์ของคุณใช้อยู่นั่นเป็นวิธีที่เหมาะสม มิฉะนั้นคุณอาจใช้การตั้งค่า CLI โดยไม่ถูกต้องหรือคุณกำลังลบการแยกระหว่างการตั้งค่า CLI และการตั้งค่าเว็บเซิร์ฟเวอร์ การแยกนั้นมีอยู่ด้วยเหตุผล
Chris Rasys

18

หากคุณติดตั้ง php ไว้ในเครื่องของคุณให้ลอง:

$ php -a
Interactive shell

php > phpinfo();

2
สิ่งนี้ได้รับphp.iniจากเวอร์ชัน cli หรือใน apache หรือไม่? ในกรณีของฉันฉันใช้ 2 php.iniสำหรับ cli และ apache
JohnnyQ

2
ฉันลองสิ่งนี้และได้รับphp.iniจากเวอร์ชัน CLI หากคุณใช้ 2 เวอร์ชันphp.iniนี้อาจใช้ไม่ได้
JohnnyQ


10

จาก CLI:

php -r 'phpinfo();'

เว็บโฮสต์ของฉัน (เดเบียน 7): php -r 'phpinfo ();' ข้อผิดพลาดในอาร์กิวเมนต์ 1, ถ่าน 2: ไม่พบตัวเลือก r php -v PHP 4.4.9 (cgi-fcgi) (สร้าง: 28 กุมภาพันธ์ 2560 11:31:58)
นักโทษ 13

2

ใช้บรรทัดคำสั่ง

touch /var/www/project1/html/phpinfo.php && echo '<?php phpinfo(); ?>' >> /var/www/project1/html/phpinfo.php && firefox --url localhost/project1/phpinfo.php

อะไรแบบนั้น? Idk!

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