Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: нет подключения к БД из php
 
 автор: Evgen29   (20.11.2009 в 11:40)   письмо автору
 
 

Привет всем. Вопрос в следующем:
В php-скрипте идет подключение к БД (у меня движок использует mysql и interbase). Так вот когда в апаче прописано:

AddType application/x-httpd-php .php .phtml
ScriptAlias /_php_/ "F:/Server/PHP-5.2.0/"
Action application/x-httpd-php "/_php_/php-cgi.exe"
т.е. php как cgi-модуль
подключение к базам идет

когда пытаюсь подключить php как web-модуль апача:
AddType application/x-httpd-php .php .phtml
ScriptAlias /_php_/ "F:/Server/PHP-5.2.0/"
Action application/x-httpd-php "/_php_/php-cgi.exe"

не может подключиться ни к одной из баз.
попробовал многие комбинации подключения php как web-модуля apache.
Добрые люди, посоветуйте что-нибудь, а то чето совсем никак.
у меня php5.2.0 и апач 2.0.59

  Ответить  
 
 автор: heed   (20.11.2009 в 12:45)   письмо автору
 
   для: Evgen29   (20.11.2009 в 11:40)
 

Возможно у Вас в переменной окружения "Path" нет дирректории в которую установлен php.

Ему ,php, бывает нужна libmysql.dll , которая лежит в папке например С:\PHP
, потомучто от неё зависит загрузится-ли php_mysql.dll у которой зависимость к libmysql.dll.

Когда Php подгружается модулем Apace Текущей дирректорией в которой выполняется
поиск библиотек является например C:\Apache\bin

, есть вариант скопировать туда необходимые dll , в частности libmysql.dll.
, скопировать в Дирректории указанные в переменной PATH,
, или изменить эту PATH, добавив ещё путь к php
Компьютер->Cвойства->Дополнительно->Переменные среды

Но в последнем случае придётся перезагружать компьютер, а не перезапускать apache. И нужно смотреть в error.log и журналах ошибок приложений виндовс

  Ответить  
 
 автор: Evgen29   (20.11.2009 в 13:03)   письмо автору
 
   для: heed   (20.11.2009 в 12:45)
 

Огромнейшее спасибо, помогло!Даже просто перезагрузка апаче без перезагрузки сервера сработала!Да будет тебе много-много хорошего )

  Ответить  
 
 автор: Evgen29   (20.11.2009 в 14:33)   письмо автору
 
   для: Evgen29   (20.11.2009 в 13:03)
 

забыл сказать...я еще к оракл соединяюсь.
прописываю в php.ini

extension_dir="F:\server\php-5.2.0\ext"
...
extension=php_oci8.dll


когда у меня php как cgi:

AddType application/x-httpd-php .php .phtml
ScriptAlias /_php_/ "F:/Server/PHP-5.2.0/"
Action application/x-httpd-php "/_php_/php-cgi.exe"

-все путем(правда помимо ext\php_oci8.dll у меня в корне php лежат либы:
oci.dll
ociw32.dll
oraoccie11.dll
)

когда подключаю php как веб модуль

LoadModule php5_module "F:\\Server\\PHP-5.2.0\\php5apache2.dll"
PHPIniDir "F:\\Server\\PHP-5.2.0"
AddType application/x-httpd-php .php 

, пишет
call to undefined function oci_connect
помогите, кто чем может.

  Ответить  
 
 автор: heed   (20.11.2009 в 19:12)   письмо автору
 
   для: Evgen29   (20.11.2009 в 14:33)
 

>нужно смотреть в error.log и журналах ошибок приложений виндовс

Можно заглянуть ещё в phpinfo , подгрузилось-ли расширение oci8

у php_oci8.dll в таблице импорта из этих библиотек одна , oci.dll
может версии несовместимые, может ещё чего, читайте ошибки


А зависимости можно посмотреть например программами типа DEPENDS.EXE
и вообще многими программами
или в тотал-коммандере плагин есть такой, навести на dll и щёлкнуть F3
там в IMPORTS TABLE список библиотек и импортируемых из них функций, которые используются
. oci.dll может зависить ещё от чего-то, и так далее

но если php как cgi-приложение всё видит , а как модуль апаче нет , то читайте п2

  Ответить  
 
 автор: Evgen29   (24.11.2009 в 09:23)   письмо автору
 
   для: heed   (20.11.2009 в 19:12)
 

Разобрался. Надеюсь кому то поможет. При подключении php как web-модуля oci подключается... в APACHE!Было выявлено после скакания с бубном! В Apache пишем

LoadModule php5_module "F:/Server/PHP-5.2.0/php5apache2.dll"
PHPIniDir "F:/Server/PHP-5.2.0"
AddType application/x-httpd-php .php 
LoadFile "F:/Server/PHP-5.2.0/oci.dll"


у меня windows xp, php5.2.0. Apache2.0.59 и оракл клиент 9

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования