[PHP] Extensions zur Laufzeit einbinden

Dieses Thema im Forum "Webentwicklung" wurde erstellt von June, 21. Juni 2013 .

  1. 21. Juni 2013
    Extensions zur Laufzeit einbinden

    Hallo nochmal

    also folgendes Szenario:
    webserver mit PHP PHP Version 5.2.17
    ich habe nicht die möglichkeit die PHP ini direkt zu editieren und eine Extension zu importieren.

    Normalerweise öffne ich die php.ini und schreibe da rein
    extension=php_pdo_sqlsrv_54_ts.dll
    oder
    extension=php_mssql.dll


    Hier müsste ich aufgrund der PHP Version wahrscheinlich noch die php_mssql.dll einbinden.

    Habe auf php.net einpaar hübsche Beispiele im Bezug auf die dl() function gefunden, jedoch erhalte immer nur Fehler.

    Folgenden Code habe ich dafür verwendet
    PHP:
         if (! extension_loaded ( 'php_mysql' )) {
            if (
    strtoupper ( substr ( PHP_OS 0 3 )) ===  'LIN' ) {
                
    dl ( 'php_mysql.dll' );
            }
        }
    Meldung:
    [NFO]
    ------------------------
    Warning: dl() [function.dl]: Unable to load dynamic library './php_mysql.dll' - ./php_mysql.dll: cannot open shared object file: No such file or directory in ...
    ------------------------
    [/NFO]

    Vielleicht hat wer nen Tipp für mich
     
  2. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    du willst unter linux ne dll einbinden?
    wohl eher mysql.so

    ggf. PHP_SHLIB_SUFFIX mal ansehen
     
  3. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    hi,

    *.dll ist doch win, oder täusch ich mich da.

    PHP:
    if (! extension_loaded ( 'gd' )) {
        if (!
    dl ( 'gd.so' )) {
            exit;
        }

     
  4. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    kann ich ja nicht wissen :lol:
    kenn mich mit linux 0 aus
    ich probiers nochmal
     
  5. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    Frag doch einfach mal deinen Anbieter, ob er dir die Erweiterung einbindet. Sollte eigentlich möglich sein. Und wenn es eine Extension ist, die sehr intensiv genutzt wird oder größere Rechenleistung erfordert, wäre es besser PHP gleich damit zu kompilieren.
     
  6. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    Nunja, auf dem Webserver laufen ca 15 Webseiten, welche schon komplex sind. Kommt es da zu nem Ausfall, wäre das nicht gut

    Ich möchte nur einpaar Daten von einem externen SQL Server auslesen und abgleichen, soll auch nur einmal die woche erfolgen, von daher wird das nicht so sehr lastend sein.

    Jetz bin ich noch zu doof die mssql.so irgendwo im netz zu finden :angry:
     
  7. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    http://pollux.sakura.ne.jp/junaio/library/zend/lib/php_extensions/mssql.so
     
  8. 21. Juni 2013
    Zuletzt bearbeitet: 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    weiterhin die gleiche Fehlermeldung

    Warning: dl() [function.dl]: Unable to load dynamic library './mssql.so' - ./mssql.so: cannot open shared object file: No such file or directory in..


    habs mit PHP_SHLIB_SUFFIX versucht
    PHP:
    function  load_lib ( $n $f  null ) {
            return 
    extension_loaded ( $n ) or  dl ((( PHP_SHLIB_SUFFIX  ===  'so' ) ?  'php_'  '' ) . ( $f  $f  $n ) .  '.'  PHP_SHLIB_SUFFIX );
        }
     
  9. 21. Juni 2013
    Zuletzt bearbeitet: 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    du kopierts dir den kommentar bei php.net und änderst den code damit er nicht mehr funktioniert?

    Bild

    PHP:
    function  load_lib ( $lib ) {
      if (
    extension_loaded ( $lib ))
        return; 

      if (
    PHP_SHLIB_SUFFIX  ===  'dll' )
        
    $lib  "php_ $lib " ;
      
      if (!
    dl ( " $lib ."  PHP_SHLIB_SUFFIX ))
        exit(
    "unable to load  $lib " );  
    }
    PHP:
    load_lib ( 'mssql' );
    die von Der_Entscheider verlinkte library natürlich noch auf deinen server laden.
    auch auf die phpapi achten, wenns nicht passt ne andere lib suchen oder den provider kontaktieren.

    wenn du über ssh root zugang oder ne linux-box zur hand hast kannst du dir die lib auch selber mit phpize übersetzen.
     
  10. 21. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    haha ich hab jenes und alles ausprobiert, auch mit meiner modifizierten version
     
  11. 27. Juni 2013
    AW: Extensions zur Laufzeit einbinden

    Die Lösung heisst freetds
    FreeTDS.org

    hat mir der Hoster selber gegeben :lol:
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.