Forum Webscript.Ru
Программирование => PHP => Тема начата: volod от 18 Февраля 2005, 10:04:11
-
Поставил себе PEAR. Под Win ХР.
Все прошло хорошо, гладко.
Скрипты мои лежат здесь: "c:/webdev/www/htdocs"
PERA поставлен сюда: "c:/webdev/www/pear"
Может кто сказать, КАКОЙ ПУТЬ в инклуде мне нужно прописать с самого начала скрипта, чтобы заюзать кой-то пэкэдж. DB, допустим.
А то сейчас через такую.. попу инклуды делаю... :insane:
-
если установил все правильно (если include_path верно установлен)
то просто require_once(\'DB.php\');
-
То есть должно быть что-то типа
[?
include("DB.php");
$db = DB::connect("mysql:// .....");
$db->....
?]
да?
А откуда скрипт знает, что этот инклуд_пас нужно использовать?
И вообще, где он прописывается?
-
volod:
А откуда скрипт знает, что этот инклуд_пас нужно использовать?
а он ничего не знает. Он всегда его использует.
Просто обычно include_path = "."
Прописать его можно :
1. php.ini
2. httpd.conf (mod_php only)
3. .htaccess (mod_php only)
4. [p]ini_set[/p], [p]set_include_path[/p]
-
volod:
[? include("DB.php"); $db = DB::connect("mysql:// ....."); $db->.... ?] да?
все верно, только для подключения таких файлов лучше использовать [p]include_once[/p]/[p]require_once[/p]
-
Не, не вышло.
Вот вход:
[?
include_once("DB.php");
$db = DB::connect("mysql://root:Root@localhost/ms");
var_dump($db);
?]
Вот выход:
Warning: main(DB.php): failed to open stream: No such file or directory in c:\\webdev\\www\\htdocs\\test\\pear_blya.php on line 3
Warning: main(): Failed opening \'DB.php\' for inclusion (include_path=\'.;c:\\php4\\pear\') in c:\\webdev\\www\\htdocs\\test\\pear_blya.php on line 3
Fatal error: Undefined class name \'db\' in c:\\webdev\\www\\htdocs\\test\\pear_blya.php on line 4
А в пхп.ини инклуд_пас раскоментирован и прописан так:
include_path = ".;c:\\php\\includes;c:\\php\\PEAR\\pear"
Что за фигня? Может, все-таки прямо в скрипте нужно прописывать какой-нибудь INCLUDE_PATH."DB.php"...
?
-
Единственное место в ПХП, где у меня инклуд_пас прописан как ".;c:/php4/pear" (которого и нету то на самом деле) -- php4ts.dll.
Кароче, блин, неужели нужно столько вот изводится, чтоб эту финовину подключить?!
С ума сойти...
-
volod:
А в пхп.ини инклуд_пас раскоментирован и прописан так: include_path = ".;c:\\php\\includes;c:\\php\\PEAR\\pear"
volod:
PERA поставлен сюда: "c:/webdev/www/pear"
Макс:
если include_path верно установлен
намек ясен ?
-
volod:
Кароче, блин, неужели нужно столько вот изводится, чтоб эту финовину подключить?!
чтобы все это установить надо всего лишь одну строчку правильно прописать.
Всего-то :)
-
Н-да, строчка-то одна, но править ее нуно непонятно где (ой-ой, ну вот только не надо в меня гнилыми яйками кидать, не надо).
Каррроче. Вопрос решился, как всегда, тупо и прямо. Заюзал set_include_path(), будто бы все работает.
Ну эт нармальна? А то мало там что, вылезет вдруг в разгаре отладки кой-то глючище из-за этой хренотени, попогоняешь его потом...
-
Это нормально. Но я считаю более удобным .htaccess