อะไร: หมายความว่าใน php include_path?


10

ฉันพยายามติดตั้ง Zend บนเครื่องที่ใช้ xampp ไฟล์ช่วยเหลือของ Zend บอกว่าในการตั้งค่าเครื่องมือบรรทัดคำสั่งฉันต้องตรวจสอบให้แน่ใจว่าเนื้อหาของไดเรกทอรี / library ถูกวางไว้ใน php ของฉัน include_path ไดเรกทอรีที่ระบุ

เมื่อฉันดู php.ini ของฉัน include_path จะใส่ความคิดเห็น แต่ค่าจะเป็นดังนี้:

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"

ที่ include_path ชี้ตรงไหน ฉันค่อนข้างใหม่สำหรับ Linux และไม่เคยเห็น: เป็นส่วนหนึ่งของเส้นทางไฟล์


2
คุณพูดถึง "a machine running xampp" คุณอาจต้องการลบมันออกและติดตั้ง lamp-server แทนซึ่งเป็นแพ็คเกจใน Ubuntu
Marco Ceppi

1
ทำไม? xampp ทำงานได้ดีอย่างสมบูรณ์
EmmyS

2
อูบุนตูของโคมไฟเซิร์ฟเวอร์ metapackage (tasksel → LAMP Server) คือการกระจายของสแต็คโคมไฟที่เหมาะกับการทำงานโดยเฉพาะอย่างยิ่งกับอูบุนตู คุณสามารถใช้ xampp แน่นอน - และใช้งานได้ดี แต่ขอแนะนำให้ใช้การแจกจ่ายของ Ubuntu (เวอร์ชั่น) (และจำเป็นถ้าคุณต้องการใช้การสนับสนุนองค์กรของ canonical)
Stefano Palazzo

คำตอบ:


4

: เป็นตัวคั่นในรายการไดเรกทอรี

. หมายถึงไดเรกทอรีปัจจุบัน

ดังนั้นเมื่อสคริปต์ php กำลังมองหาไฟล์รวมมันจะดูไดเรกทอรีเดียวกันกับไฟล์ php และ / php / include


ดังนั้นเส้นทางในปัจจุบันรวมถึงสองไดเรกทอรี - หนึ่งในปัจจุบัน (โดยที่ฉันคิดว่าคุณหมายถึงไดเรกทอรีที่มี php.ini) และ / php / รวม? ที่ / php / รวมที่ไหน (เท่าที่เส้นทางนี้เกี่ยวข้อง)? ข้างในไดเรกทอรีปัจจุบัน? หรือที่อื่น ๆ
EmmyS

เกือบแล้ว,. เป็นไดเรกทอรีปัจจุบันที่สัมพันธ์กับแต่ละไฟล์ php โดยเฉพาะไม่ใช่ php.ini / php / include เป็นพา ธ สัมบูรณ์โดยคาดว่าจะมีโฟลเดอร์ 'php' ระดับบนสุดในระบบไฟล์ของคุณ (ในระดับเดียวกับ / usr, / etc)
misterben

7

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

index.php
include-me.php

คุณสามารถรวมสองใน PHP include('include-me.php');กับ หากไม่.อยู่ในเส้นทางคุณจะไม่สามารถทำเช่นนั้นได้

ดังนั้นเพื่อให้การติดตั้งเสร็จสมบูรณ์ดังที่กล่าวไว้คุณจะต้องใส่เนื้อหาของ/libraryในโฟลเดอร์เดียวกันสคริปต์ที่คุณกำลังทำงานอยู่ใน - หรือใน/php/includes(ได้รับคุณลบออก;จากไฟล์ ini) นอกจากนี้คุณยังสามารถสร้างไดเรกทอรีอื่นเช่น/opt/Zend/libraryและเพิ่มลง/opt/Zend/libraryในคำสั่งพา ธ รวม:include_path = ".:/php/includes:/opt/Zend/library"

สุดท้าย - เนื่องจากคุณใช้งาน Ubuntu ขอแนะนำให้คุณใช้การตั้งค่า LAMP ของ Ubuntu แทน (เอกสารส่วนใหญ่จะถือว่าคุณใช้งานอยู่) สิ่งนี้สามารถติดตั้งได้โดยการลบ XAMPP และดำเนินการsudo tasksel install lamp-serverซึ่งจะติดตั้ง Apache 2.2, MySQL, PHP 5.3 ลงในระบบ ในฐานะที่เป็นที่กล่าวถึงในสิ่งที่เป็นวิธีที่ง่ายที่สุดในการตั้งค่าโคมไฟกอง?


1
ฉันมีความสุขอย่างสมบูรณ์แบบกับ xampp ฉันขอขอบคุณข้อมูลอื่น ๆ
EmmyS

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