นายทหารดี นั่นเป็นเรื่องที่น่าหงุดหงิดอย่างไม่น่าเชื่อ นี่คือแนวทางในการทำงาน xhprof (หมายเหตุ: ฉันใหม่สำหรับ Linux ฉันไม่แน่ใจว่าสิทธิ์ที่ฉันใช้ปลอดภัยหรือว่ามีวิธีที่ดีกว่าในการทำฉันจะทำสิ่งนี้ในสภาพแวดล้อมการทดสอบเท่านั้น)
สำคัญ: มันจะไม่บอกอะไรคุณเกี่ยวกับวิธีการตีความมัน ฉันไม่รู้ว่าจะทำอย่างไรฉันแค่ดีใจที่ได้ผล
ทำให้ XHProf ทำงานได้
1. คุณใช้ระบบปฏิบัติการอะไร
Mac หรือ Linux
มันเป็นไปได้.
Windows?
อาจจะไม่. ในการใช้งาน xhprof บน windows คุณต้องมีคอมไพล์ dll มีการเชื่อมโยงไปยังหนึ่งในหัวข้อนี้แต่ฉันมักจะมีปัญหาความเข้ากันได้กับมันเมื่อฉันพยายามที่จะใช้มันใน XAMPP
ฉันคิดว่ามันถูกคอมไพล์ด้วย Apache เวอร์ชันอื่น
2. ทำให้มันทำงานบน Ubuntu
เป็นไปได้บน Mac นี่คือลิงก์ที่มีประโยชน์สองลิงก์:
http://www.lullabot.com/blog/article/installing-xhprof-mamp-and-php-52-mac-os-106-snow-leopard
http://www.midwesternmac.com/blogs/jeff-geerling / รับ-xhprof ทำงานดี
แต่ฉันไม่ได้ทำมัน ฉันจัดการเพื่อให้มันทำงานบน Ubuntu Server 13.04 แม้ว่าฉันคิดว่า Ubuntu Server รุ่นใดจะใช้งานได้
ฉันตั้งค่าเซิร์ฟเวอร์ของฉันบน VirtualBox VirtualBox ให้บริการฟรี แต่อาจต้องใช้เวลาสักครู่ในการเรียนรู้วิธีตั้งค่า
3. การติดตั้ง XHProf
ฉันจะสมมติว่าเรามี Ubuntu Server ที่ทำงานได้อย่างสมบูรณ์
ก่อนอื่นเราต้องติดตั้งลูกแพร์ เราจะใช้สิ่งนี้เพื่อติดตั้ง XHProf
sudo apt-get install pear
เราติดตามสิ่งนี้ด้วย phpdev ซึ่งจำเป็นเช่นกัน
sudo apt-get install php5-dev
หากคำสั่งเหล่านี้ใช้งานไม่ได้และฉันเข้าใจผิดให้ไปที่:
sudo pecl install -f xhprof
อูบุนตูจะบอกคุณว่าคุณพลาดอะไรไปและแจ้งให้คุณทำการติดตั้ง เมื่อคุณได้ติดตั้ง xhprof ทั้งหมดแล้ว
คุณอาจได้รับข้อผิดพลาดในการติดตั้ง xhprof มันจะพยายามดาวน์โหลดเบต้าและล้มเหลว ในกรณีนั้นลอง:
sudo pecl install -f xhprof-beta
หวังว่าตอนนี้ xhprof จะถูกติดตั้งแล้ว
ตอนนี้เราจำเป็นต้องกำหนดค่า เปิด php.ini ของคุณซึ่งอยู่ที่/etc/php5/apache2/php.ini
และเพิ่มสองบรรทัดต่อไปนี้ภายใต้ส่วนขยาย:
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"
บรรทัดที่สองตั้งค่าไดเรกทอรีผลลัพธ์ หากโฟลเดอร์นี้ไม่มีอยู่คุณจะต้องสร้างมันขึ้นมาเมื่อคุณทำการรีบูต apache โดยใช้
sudo service apache2 restart
4. ตรวจสอบว่า XHProf ทำงานอยู่หรือไม่
ตอนนี้เราต้องตรวจสอบว่ามันใช้งานได้หรือไม่
ทดสอบ 1:
เข้าสู่ php -m
ถ้าคุณเห็น xhprof ในรายการคุณก็พร้อมที่จะไป หากไม่ต้องกังวลลองใช้วิธีนี้แทนเพื่อตรวจสอบว่าใช้งานได้หรือไม่:
ไปที่ webroot ของคุณ/var/www/
และสร้างไฟล์ php เพียง:
phpinfo();
บันทึกเป็น phpinfo.php เปิดสิ่งนี้ในเบราว์เซอร์ของคุณและคุณควรเห็นข้อมูล PHP ค้นหา xhprof และหากคุณเห็นสิ่งนี้แสดงว่ามันกำลังทำงานอยู่
5. ทำให้มันทำงานกับ Drupal
ฉันไม่สามารถทำงานกับโมดูล Drupal ได้ ดังนั้นฉันจะบอกคุณว่าจะให้มันทำงานกับโมดูล devel ได้อย่างไร
ครั้งแรกที่การตั้งค่าบางอย่างที่ฉันยืมมาจากที่นี่ ฉันไม่ได้ทำตามส่วนนี้จริงๆ แต่มันทำงานได้เหมือนม้าของขวัญและทุกอย่าง
สร้างไฟล์ปรับแต่งใหม่ด้วยคำสั่งต่อไปนี้:
sudo nano /etc/apache2/conf.d/xhprof.conf
และใส่รหัสต่อไปนี้
alias /xhprof_html "/usr/share/php/xhprof_html/"
จากนั้นเราอาจต้องสร้าง symlink ไปยังโฟลเดอร์ xhprof_html ของเรา ดังนั้นในกรณีที่ตั้งค่านี้:
ln -s / usr / share / php / xhprof_html / var / www / xhprof_html
สิ่งนี้จะสร้างโฟลเดอร์ใน webroot ของคุณซึ่งชี้ไปยังไฟล์ xhprof ที่มีอยู่ จากนั้นในเบราว์เซอร์ของคุณคุณสามารถเปิดhttp://mywebsitehere.com/xhprofเพื่อดูการทำงานทั้งหมดที่คุณทำ
จากนั้นรีสตาร์ท apache ตอนนี้เป็นเวลาสำหรับการตั้งค่า devel เล็กน้อย ไปที่การตั้งค่า devel เปิดใช้งาน xhprof และตั้งค่า:
xhprof directory = /usr/share/php
XHProf URL = /xhprof_html
ตอนนี้ที่ด้านล่างของแต่ละหน้าคุณควรเห็นลิงค์เล็กน้อยไปยัง xhprof
และการคลิกควรนำคุณไปสู่หน้าที่มีลักษณะเช่นนี้ คุณทำเสร็จแล้ว ขอแสดงความยินดี!
หากไม่ได้ผลและคุณได้รับข้อผิดพลาดในการทำงานอาจเป็นเพราะ Drupal ไม่ได้รับอนุญาตให้เขียนไปยังโฟลเดอร์ tmp ที่เราตั้งไว้ก่อนหน้านี้ดังนั้นให้ป้อน:
sudo chown -R www-data /var/tmp/xhprof
และหวังว่าจะได้ผล เราเสร็จแล้ว hoorah!
เว้นแต่ว่าคุณต้องการฟังก์ชั่นการสร้างกราฟ โชคดีที่ง่ายเหมือน:
sudo apt-get install graphviz
sudo service apache2 restart
และตอนนี้คุณควรมีฟังก์ชั่นกราฟ หวังว่าจะช่วยได้!