Ubuntu'da Php-Pear Kurulumu MDB2 sorunu
Local Linux web serverımızda PEAR (PHP Extension and Application Repository) Freamwork'ünü sistemimize kurmak için ilk olarak aşağıdaki komutu uçbirimden giriyoruz.sudo apt-get install php-pear
Pear'a yeni bir paket eklemek için pear install
pear install html_quickform yada
pear install MDB2 gibipear install MDB2
Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
Evet hatalar aldık.pear -config-show
komutu ile ayarlara bir bakalım php_dir nerdeymiş?
PEAR directory php_dir /usr/share/php
php dizinimize sudo chmod 777 php komutunu uçbirimden girerek yazma izni verelim.
pear install mdb2 tekrar kurmayı deneyelim MDB2 paketini.
Fatal error: Call to undefined method PEAR_Registry::packageinfo() in /usr/share/php/PEAR/Dependency2.php on line 659
Bir hata daha aldık.
Bu hatalardan kurtulmak içinsudo gedit /usr/bin/pear
dosyasını açıyoruz ve#!/bin/sh
satırından hemen sonra aşağıdaki iki satırı ekliyoruz.
export LC_ALL="C"
export LANG="C"pear install html_quickform
ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_php"
ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_doc"
Böylelikle html_quickform kurarken alacak olacağımız hatalardan da kurtulmuş olucaz.
*Note: Yanlız MD2 kurarken /usr/share/php/data klasörüne yazma izni vermeyi unutmayın aksi halderequire_once('MDB2');
komutu ile MDB2 yi dahil etmeye çalıştığınızda aşağıdaki gibi hatalar ile karşılaşırsınız.
Warning: require_once(MDB2.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/pear.php on line 23
Fatal error: require_once() [function.require]: Failed opening required 'MDB2.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/pear.php on line 23
pear install MDB2 kurulumunu yapmadan evvel aldığımız bir hatada aşağıda.
Fatal error: Class 'MDB2' not found in /var/www/pear.php on line 19
Bu arada söyledemen geçmeyim. MDB2 ile sadece çekirdek MDB2 bileşenlerini kurduk. Database Driverlarını kurmadık.
fbsql: FrontBase
ibase: InterBase
mssql: MS SQL Server
mysql: MySQL
mysqli: MySQL //Php mysqli extension
oci8: Oracle
pgsql: PostgreSQL
querysim: Querysim
sqlite: SQLite
Örneğin MySQL serverda bir veritabanına bağlanıp veritabanımızdaki bir tablo üzerinde işlemler yapabilmek içinpear install MDB2_Driver_mysql
İle mysql Driverıda sistemimize dahil etmeliyiz.
pear install MDB2_Driver_mysql
Ignoring installed package pear/MDB2_Driver_mysql
Nothing to install
böle hata aliyorum bazilarindada hata aldım bazilarındada kurdu ama Warning update pear die uyarı verdi
9/25/2010
Call to undefined method MDB2_Driver_Datatype_mysql::getDBInstance()
Roundcube da böyle bir hata alıyorum bu fonksiyonun tanımsız olduğunu söylüyor sizce neden olabilir?
Teşekkürler..
9/30/2011
@Mikail
Dediğiniz cms'yi hiç kullanmadım. Fakat shared hostingde iseniz Pear Dosyalarının bulunduğu yolu PHP Path'e eklemeniz gerekli. Aynı şekilde MDB2 db driverlarınıda kurmalısınız.
Normal şartlarda (Pear ile alakalı bir sorun yoksa) aldığınız hata mesajı getDBInstance() isimli metod olmadığı içindir.
10/08/2011