0

システムにインストールされているモジュールを有効にする必要があります。数か月前に ondrej のリポジトリから PHP 5.4 をインストールし、ソースから ODBTP モジュールをコンパイルしました。

残念ながら、このモジュールのみを有効にすると、すべての PHP スクリプトが失敗する原因となるエラーが表示されます。

PHP Warning:  PHP Startup: odbtp: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
 in Unknown on line 0

私はそれが私に何を伝えようとしているのか理解していると思います.PHPをソースからコンパイルして、APIのバージョンが一致するようにしたかったのですが、私のバージョンのPHPのソースが見つかりません...

詳細が必要な場合は、喜んで提供いたします。

4

1 に答える 1

0
  1. ondrej のレポを in/etc/apt/sources.listまたは どこでも kill します。
  2. purgeあなたのPHPインストール
  3. 必要なバージョンの PHP を php.net からダウンロードする、5.4.x (5.4.19) から最新のものをダウンロードしてください。
  4. 必要なすべてのモジュールをサポートしてコンパイルします

あなたのUbuntuはもうサポートされていないので、ソースからコンパイルする以外に選択肢はあまりありません. サーバーの場合、手順は逆になります。:D

そのサーバーを12.04に更新する@khartvinも大きなリスクをもたらし、おそらく物事を壊すでしょう. OS バージョン間での変更点 - 特に Ubuntu では多くの変更があります! また、Canonical では構成管理がまったくうまくいかない場合があります。

更新したい場合は、バージョン間をジャンプするのが最善です:

10.04 updt-> 10.10 updt-> 11.04 updt-> 11.10 updt-> 12.04

それでも失敗する可能性があるため、これは解決策ではありません。

サーバー上のソースからコンパイルしても、コンパイル全体にダウンタイムが必要になるわけではありません。現在のインストールでコンパイルする必要はありません。他のディレクトリにコンパイルしてから、Web サーバーの設定を切り替えることができます。

この時点での最良のオプションは、サーバー全体を移行することです。したがって、これをクライアントに伝えます。これは、移転するために一般的に行う必要があることです: (これの多くはセットアップに依存し、これは一般的な単一サーバーの例にすぎません)

  • 新しいマシンの準備: SELinux、ロケール、ユーザー/グループ、Apache など
  • 必要なものを使用してphpをインストールおよび構成します
  • データベースをインストールし、情報をコピーし、DNS スイッチの直前に再度コピーする準備をします
  • SSLを使用している場合は、それも管理する必要があります
  • Web アプリケーションを新しいマシンで実行する
  • 他の誰かにテストしてもらい、すべてが実行されていることを確認します
  • ユーザーのタイムゾーンのある夜遅く: Web アプリを停止し、データベースをコピーし、DNS レコードを変更して新しいサーバーを指すようにします。最大で約 10 分から 2 時間で、ユーザーは新しいサーバーにアクセスします。

DNS レコードの更新時間は、プロバイダーによって異なります。ほとんどの場合、更新はすぐに行われます。

于 2013-08-26T13:33:30.463 に答える