Makine oracle (oci8 ve / veya pdo_oci) varsa nasıl yüklenir, php kullanarak, algılayabilir?

4 Cevap php

Makine oracle (oci8 ve / veya pdo_oci) varsa nasıl yüklenir, php kullanarak, algılayabilir?

Ben kendim gibi bazı geliştiriciler, bu yüklü bir PHP proje üzerinde çalışıyorum, ancak Cep Telefonu OyunLarı sahip olmak için çok az ihtiyaç var. Benim Cep Telefonu OyunLarı onları çökmesine kalmadan sitenin görünüm üzerinde çalışmak edebiliyoruz, böylece nasıl kodu kullanmak için hızlı bir fonksiyon yazabilirim?

4 Cevap

oci uzantısı yüklü değilse, o zaman farside.myopenid.com ile bir ölümcül hata alırsınız '(oci_connect') s cevap, sen function_exists kullanabilir 'veya extension_loaded (' oci8 ') (veya ne olursa olsun uzantısı aslında denir)

Burada millet çözümün parçaları var, ama en bir çözüm içine tüm rulo izin.

Function___exists ile test bir kehanet fonksiyonu, () sadece tek bir örneği için yeterince iyidir; kod OCI çağrılarına boyunca serpilir ise ancak, bu bir function_exists her birini sarmak için kıçından büyük bir acı () testi olacak.

Bu nedenle, basit çözüm bu gibi bir şey olabilir nodatabase.php adlı bir dosya oluşturmak için olacağını düşünüyorum:

<?php
// nodatabase.php
// explicitly override database functions with empty stubs. Only include this file
// when you want to run the code without an actual database backend. Any database-
// related functions used in the codebase must be included below.
function oci_connect($user, $password, $db = '', $charset='UTF-8', $session_mode=null)
{
}

function oci_execute($statement, $mode=0)
{
}
// and so on...

Küresel (diyelim ki, THEME_TESTING) hemen öncesinde veritabanı kodu denir nerede tanımlı ise daha sonra, şartlı bu dosyayı içerir. Böyle bir dahil bu gibi görünebilir:

// define("THEME_TESTING", true) // uncomment this line to disable database usage
if( defined(THEME_TESTING) )
  include('nodatabase.php'); // override oracle API with stub functions for the artists.

Eğer sanatçılara projeyi teslim Şimdi, ne zaman, onlar sadece o bir değişiklik yapmak gerekir ve onlar gitmek için iyi bir konum.

Ben tam sorunuzu anlamak olmadığını bilmiyorum ama basit bir şekilde bunu yapmak olacaktır:

<?php
  $connection = oci_connect('username', 'password', 'table');
  if (!$connection) {
    // no OCI connection.
  }
?>

Greg Yukarıda belirtildiği gibi, programlı function_exists () yöntemini kullanabilirsiniz. Ayrıca aşağıdaki kullanarak yüklemek için PHP ile tüm çevre özelliklerini görmek için aşağıdaki kullanabilirsiniz unutmayın:

<?php
phpinfo();
?>