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 komutunu kullanıyoruz.

pear install html_quickform yada
pear install MDB2 gibi

pear 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çin

sudo 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 halde

require_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çin

pear install MDB2_Driver_mysql

İle mysql Driverıda sistemimize dahil etmeliyiz.

3 Yorum:

  1. Adsız

    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  


  2. 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  


  3. @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  


Yorumunuzu belirtebilirsiniz