Что означает.: В php include_path?
Я пытаюсь установить Zend на машину под управлением xampp. В справочном файле Zend говорится, что для настройки инструментов командной строки мне нужно убедиться, что содержимое каталога / library находится внутри моего каталога php include_path.
Когда я смотрю на мой php.ini, include_path закомментирован, но значение выглядит так:
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
На что именно указывает include_path? Я довольно новичок в Linux, и никогда не видел. Как часть пути к файлу.
2 ответа
: является разделителем в списке каталогов.
, означает текущий каталог
Поэтому, когда php-скрипт ищет включаемый файл, он будет выглядеть в том же каталоге, что и php-файл, и /php/include.
.:
на самом деле просто .
(поскольку :
является ключевым словом, разделяющим несколько путей), что означает, что текущая папка, в которой выполняется скрипт, включена как часть 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 в систему. Как описано в разделе Как проще всего настроить стек LAMP?