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

Форум Apache

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

 

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

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

тема: Создание плоских файлов - dba_open()
 
 автор: Gubichev   (24.01.2010 в 20:11)   письмо автору
 
 

Всем привет. Возникла проблема. Не работает функция dba_open()
Выводит ошибку: Fatal error: Call to undefined function dba_open() in G:\home\test1.ru\www\index.php on line 2

extension=php_dba.dll вроде как включен, пользуюсь Денвером.
Как решить проблему?

Листинг:
<?php
$db_o 
dba_open("base.db""c""flatfile"); 
dba_close($db_o);
?>

  Ответить  
 
 автор: sim5   (24.01.2010 в 20:36)   письмо автору
 
   для: Gubichev   (24.01.2010 в 20:11)
 

Раскомментировать строку подключения библиотеки в php.ini

  Ответить  
 
 автор: Gubichev   (24.01.2010 в 20:40)   письмо автору
 
   для: sim5   (24.01.2010 в 20:36)
 

Она вроде как не закомментирована. Перед директивой стояла ";". Убирал - ничего не менялось...

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.

;extension=php_bz2.dll
;extension=php_curl.dll
extension=php_dba.dll
extension=php_dbase.dll
;extension=php_exif.dll
extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll

  Ответить  
 
 автор: sim5   (24.01.2010 в 20:45)   письмо автору
 
   для: Gubichev   (24.01.2010 в 20:40)
 

А Денвер после того как раскоментировали перезагрузить не забыли?
Кстати, работа с многобайтными строками потребуется, а значит и библиотеку подключать придется, а поставить ее лучше всего (для исключения конфликтов) первой в списке - extension=php_mbstring.dll.

  Ответить  
 
 автор: Gubichev   (24.01.2010 в 20:51)   письмо автору
 
   для: sim5   (24.01.2010 в 20:45)
 

Да, перезапускал, безрезультатно.

  Ответить  
 
 автор: sim5   (24.01.2010 в 21:02)   письмо автору
 
   для: Gubichev   (24.01.2010 в 20:51)
 

Значит должно работать. У меня проблем нет.

  Ответить  
 
 автор: Gubichev   (24.01.2010 в 21:07)   письмо автору
 
   для: sim5   (24.01.2010 в 21:02)
 

С ОС это связано не может быть (Windows XP)?
И не могли бы скинуть свой php.ini? Может у меня, что нибудь не так установлено...

  Ответить  
 
 автор: sim5   (24.01.2010 в 21:19)   письмо автору
 
   для: Gubichev   (24.01.2010 в 21:07)
 

У меня ХР, и ОС тут не причем, достаточно подключить библиотеку, перезапустить Денвер и ОК. У вас получается, что она не подключается.

  Ответить  
 
 автор: Trianon   (24.01.2010 в 21:56)   письмо автору
 
   для: Gubichev   (24.01.2010 в 21:07)
 

простите, а сам файл в каталоге у Вас имеется?
Или Вы только строку раскомментарили?

  Ответить  
 
 автор: Gubichev   (24.01.2010 в 21:59)   письмо автору
 
   для: Trianon   (24.01.2010 в 21:56)
 

Файл находится в папке X:\usr\local\php5

  Ответить  
 
 автор: Gubichev   (24.01.2010 в 22:48)   письмо автору
 
   для: Gubichev   (24.01.2010 в 21:59)
 

Хотелось бы уточнить, должен ли файл "php_dba.dll" лежать в папке X:\usr\local\_php5\ext

У меня его там нет! Скачивал, вставлял в эту папку - выдаёт ошибки..
На другом ПК попробовал - тоже самое. Не знаю что делать...

  Ответить  
 
 автор: sim5   (25.01.2010 в 04:45)   письмо автору
 
   для: Gubichev   (24.01.2010 в 22:48)
 

Вот так выглядит реальный путь раширений Денвера:
D:\WebServers\usr\local\php5\ext
Вы указываете Х, и это виртуальный диск, хотя вы можете копировать непосредственно на нем, так как реально операции будут производиться на физическом диске.
Реальный у вас может быть С и .... куда вы установили Денвер. Папка же WebServers, это папка по умолчанию, и при установке вы можете указать ее другой, либо вообще отказаться и установить Денвер в корень диска (как у вас в путях), но вот чтобы РНР был в папке _php, вы меня извините - такого быть не может, не предлагает Денвер при установке менять его путь.

  Ответить  
 
 автор: Gubichev   (25.01.2010 в 07:38)   письмо автору
 
   для: sim5   (25.01.2010 в 04:45)
 

Извиняюсь, неверно написал путь, всё так как Вы сказали X:\usr\local\php5\ext
Ещё раз прошу уточнить есть ли в этой папке файл php_bda.dll

  Ответить  
 
 автор: sim5   (25.01.2010 в 07:45)   письмо автору
 
   для: Gubichev   (25.01.2010 в 07:38)
 

В этой папке не только этот файл, но и все другие библиотеки (расширения) содержатся. У вас, судя по вашему php.ini, подключена библиотека работы с dBase. Попробуйте работу с такой базой (dbf), просто ради теста. У вас ее функции будут работать?

У вас Денвер установлен именно в корень диска?

  Ответить  
 
 автор: Gubichev   (25.01.2010 в 07:58)   письмо автору
 
   для: sim5   (25.01.2010 в 07:45)
 

Список модулей в моей папке ext
У меня нет php_dba.dll
В этом ли причина проблемы?

php_bz2.dll
php_curl.dll
php_exif.dll
php_fileinfo.dll
php_gd2.dll
php_gettext.dll
php_imap.dll
php_interbase.dll
php_intl.dll
php_ldap.dll
php_mbstring.dll
php_mssql.dll
php_mysql.dll
php_mysqli.dll
php_oci8.dll
php_oci8_11g.dll
php_openssl.dll
php_pdo_mssql.dll
php_pdo_mysql.dll
php_pdo_oci.dll
php_pdo_odbc.dll
php_pdo_pgsql.dll
php_pdo_sqlite.dll
php_pgsql.dll
php_shmop.dll
php_soap.dll
php_sockets.dll
php_sqlite.dll
php_sqlite3.dll
php_sybase_ct.dll
php_tidy.dll
php_xmlrpc.dll
php_xsl.dll

Проверил, bdf не работает.
Denwer установлен на диске C

  Ответить  
 
 автор: sim5   (25.01.2010 в 08:02)   письмо автору
 
   для: Gubichev   (25.01.2010 в 07:58)
 

автор: Trianon (24.01.2010 в 21:56) письмо автору
для: Gubichev (24.01.2010 в 21:07)

простите, а сам файл в каталоге у Вас имеется?
Или Вы только строку раскомментарили?

****

Вас же спрашивали об этом! Конечно не будет работать, ибо у вас ни для работы с bda, ни с dbf (что я предложил для теста) библиотек нет - чем же РНР работать то? Ищите в сети ее, скачивайте ее в эту папку и все проблемы.

  Ответить  
 
 автор: Gubichev   (25.01.2010 в 08:07)   письмо автору
 
   для: sim5   (25.01.2010 в 08:02)
 

Уже скачивал, но он всё равно отказывается работать. Пишет что-то вроде:

Ошибка запуска. php_dba.dll не является образом программы для windows NT

Качал архив с php.net, там этого файла тоже нет.

  Ответить  
 
 автор: sim5   (25.01.2010 в 08:10)   письмо автору
388.1 Кб
 
   для: Gubichev   (25.01.2010 в 08:07)
 

Вы скачиваете не ту библиотеку. Держите -->

  Ответить  
 
 автор: Gubichev   (25.01.2010 в 08:19)   письмо автору
 
   для: sim5   (25.01.2010 в 08:10)
 

Спасибо. Но всё равно не работает (правда ошибки теперь не выдаёт). Уже не знаю в чём проблема.
Версия модулей у меня в папке 5.3.1.0. а вы мне скинули 5.2.4.4. Может ли быть проблема в этом?

  Ответить  
 
 автор: sim5   (25.01.2010 в 08:22)   письмо автору
 
   для: Gubichev   (25.01.2010 в 08:19)
 

Да, у меня версия РНР 5.2.4 и библиотеки естественно к ней. Скачайте себе полный Денвер (со всеми библиотеками) и установите его. Под вашу версию у меня нет библиотек.

  Ответить  
 
 автор: Gubichev   (25.01.2010 в 12:12)   письмо автору
 
   для: sim5   (25.01.2010 в 08:22)
 

Еле нашёл я Denwer с PHP 5.2.4! Всё заработало, спасибо за помощь!
Кстати в последующих версиях PHP такой библиотеки вообще нет, видимо разработчики посчитали, что она не нужна... по этому пришлось переходить с PHP 5.3.1 на 5.2.4

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

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