契約の管理時に PHP ハンドラ "module" が登録されていません。

Created:

2016-11-16 13:03:15 UTC

Modified:

2017-08-18 23:30:13 UTC

0

Was this article helpful?


Have more questions?

リクエストを送信

契約の管理時に PHP ハンドラ "module" が登録されていません。

症状

Plesk で契約の設定を開けません。以下のエラーが表示されます。

Unable to create or update the subscription: The PHP handler "module" is not registered. It was probably deleted from the server. Register a handler with the same properties and try again.

または

Unable to register the PHP handler: Handler with id = `fastcgi' already exists

または

Unable to create or update the subscription: The PHP handler "" is not registered

または

Error: Unable to create or update your subscription: PHP Driver "" not registered. There's probably been deleted from the server. Register a driver with the same properties and try again.

解決策

Plesk for Linux での手順:

  1. 以下のコマンドで PHP バージョンをチェックします。

    php -v

    結果にエラーが表示されないことを確認します。

  2. /etc/psa/php_versions.json で、あるいは以下のコマンドを使用して、PHP ハンドラをチェックします。

    /usr/local/psa/admin/sbin/php_handlers_control --list

    PHP のバージョンが正しいことを確認します。

  3. Plesk データベースの PHP ハンドラをチェックします。以下のように表示されます。

    mysql> select section,name from ServiceNodeEnvironment where section='phphandlers';
    +-------------+---------+
    | section | name |
    +-------------+---------+
    | phphandlers | cgi |
    | phphandlers | fastcgi |
    | phphandlers | module |
    | phphandlers | synced |
    +-------------+---------+

    正しい行が表にない場合は、手動で追加します。

  4. PHP が有効になっているすべてのドメインに空の 'php_handler_id' がないことを確認します。

    mysql> select dom_id,php,php_handler_id from hosting where php='true';
    +--------+-------+----------------+
    | dom_id | php | php_handler_id |
    +--------+-------+----------------+
    | 14 | true | module |
    | 73 | true | fastcgi |
    | 77 | true | module |
    | 159 | true | module |
    | 162 | true | module |
    | 188 | true | |
  5. あるドメインで PHP が有効になっており(php='true')、正しい行が表にない場合は、このドメインにこの行を手動で追加します。

    mysql> update hosting set php_handler_id='fastcgi' where dom_id=188;
    Query OK, 1 row affected (0.13 sec)
    Rows matched: 1 Changed: 1 Warnings: 0
  6. Plesk コントロールパネルの[domains]> domain.tld >[Hosting Settings]で、当該ドメインに対して PHP を再有効化します。

  7. データベースに一部のハンドラが存在しない場合は、 Plesk コントロールパネルで[Tools and Utilities]>[Server Components] に進み、 [Refresh] ボタンを押して、Plesk コンポーネントを更新する必要があります。

  8. また、以下のコマンドを使用して、 php_versions.json から PHP ハンドラを読み込み直します。

    /usr/local/psa/admin/sbin/php_handlers_control --reread

Plesk for Windows での手順:

エラーに記述されている PHP バージョンがインストールされ、Plesk に認識されていることを確認します。

  1. Windows レジストリ HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\PHP\\5 でパスを確認します。値は以下のように表示されます。

    C:\\Program Files (x86)\\Parallels\\Plesk\\Additional\\PleskPHP5\\
  2. Plesk には、最新の一般的な PHP バージョンがすべて付属しており、それらをインストールするには、 [Tools & Settings]>[Updates and Upgrades]>[Add/Remove components] の順に選択します。

  3. [Tools & Settings]>[Server Components] に進み、 [Refresh] ボタンをクリックします。

詳しくは、「 Windows 版の Panel で複数の PHP バージョンを使用する 」を参照してください。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。