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