0

仕事を辞めようとしているので、すべてに飛びつきたくはありません。提案や変更点が欲しいだけです。私はcentos Linuxサーバーを持っていますが、これがエラーを引き起こしているコードであり、このようにダウンロードして動作しないため、何が問題なのかわかりません。

if (!extension_loaded('librets')) {
  if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
    if (!dl('php_librets.dll')) return;
  } else {
    // PHP_SHLIB_SUFFIX gives 'dylib' on MacOS X but modules are 'so'.
    if (PHP_SHLIB_SUFFIX === 'dylib') {
      if (!dl('librets.so')) return;
    } else {
      if (!dl('librets.'.PHP_SHLIB_SUFFIX)) return;
    }
  }
}

次のエラーが表示されます。

Fatal error: Call to undefined function dl() in /home/removed/public_html/test/rets2/librets.php on line 22

何が悪いのかわからない..

誰?

4

1 に答える 1

0

dl は、特定の条件下でライブラリをロードするための適切なソリューションではありません。そのため、いくつかの SAPI (サーバー API - PHP と PHP を実行するサーバー間の接続) から関数が削除されました。それを php.ini に追加するか、サーバーが利用できる手段でロードする必要があります。共有ホスティングを使用している場合、ホスティング事業者はセキュリティ上の理由から dl() を無効にしている可能性もあります。

于 2012-08-21T21:17:42.653 に答える