2013-11-12 4 views
2

У меня возникла проблема с настройкой моего приложения на сервере и поиском в Google и оглядыванием. Я приземлился на этом page, что в значительной степени является моей проблемой, но я до сих пор не знаю, как изменить это на мой ситуации, поэтому кто-то может объяснить синтаксис этого выражения.Смысл этого включает в себя синтаксис пути

include_path = ".:/usr/lib/php:/usr/local/lib/php" 
+1

Точка '.' означает текущий каталог, а двоеточие': 'является разделителем, разделяющим пути. –

+3

Это * не * a "URL". – deceze

ответ

4

Это линукс $PATH спецификация. Это список папок, разделенных : s, в котором PHP будет искать файлы, которые вы пытаетесь выполнить require или include. . означает текущий рабочий каталог.

+0

. Значит ли это, что я конкретно упоминаю файл, вызываемый с этим URL-адресом? или usr ссылается на пользователя, и я должен предоставить имя пользователя сервера и тому подобное? – altsyset

+0

@altsyset '/ usr' является обычным каталогом на * системах NIX. Ни больше ни меньше. – deceze

+1

Нет, это только указывает, где PHP будет искать файлы, которые вы пытаетесь включить, когда вы их включаете. Например, если вы вызываете 'require (" foo.php ")', PHP будет выглядеть, если он существует в локальном каталоге ('./Foo.php'), а затем для'/usr/lib/php/foo.php', затем для '/ usr/local/lib/foo.php'. Обратите внимание, что это происходит в этом порядке. Если он не будет найден, это вызовет ошибку. '/ usr' и'/usr/lib/'являются обычными системными папками в Unix-подобных (например, GNU/linux) системах. –

3

Это просто двоеточиями список каталогов, PHP будет искать файлы, которые вызываются с помощью include() и require() (и их include_once() и require_once друзей). Если вы хотите добавить свои собственные каталоги, которые вы бы добавить их в качестве таковых:

include_path = ".:/usr/lib/php:/usr/local/lib/php:/path/to/your/includes" 

/path/to/your/includes путь выборки, где ваши входящие файлы будут

+0

Это действительно полезно, но я должен привнести со мной конкретную проблему. Проблема возникает, когда этот файл, mpdf.php пытается вызвать config.php с require (_MPDF_PATH.'config.php '); для этого я добавил ini_set ('include_path', '/config.php'); так как оба находятся в одной папке. Но это еще не решило? что мне не хватает? – altsyset

+1

Если они находятся в одной папке, просто используйте 'require ('./ config.php')' –

3

The include_path это весь путь, в котором PHP будет искать файл при использовании include('file') (или require или _once производных). Это несколько путей, разделенных :. Путь . - это текущий рабочий каталог.

Итак, когда вы include('file.php'), PHP будет сначала искать ./file.php (в текущем каталоге), то /usr/lib/php/file.php, то /usr/local/lib/php/file.php и он будет использовать первый найденный файл.

Смежные вопросы