0

developer.nrel.govCentOS 6.4 の実行から Vagrant 制御の VirtualBox をダウンロードしました

私のパペットinit.ppファイルには以下が含まれています:

package { "php":
  ensure => "5.3.3-22.el6"
}

Composer を使用して、Behat と Mink を含む PHP Web アプリケーションの依存関係をインストールしています。

{
    ...
    "require-dev": {
        "behat/behat": "2.4.*",
        "behat/mink": "1.4.*",
        "behat/mink-extension": "@dev",
        "behat/mink-goutte-driver": "@dev",
        "behat/mink-selenium2-driver": "@dev"
    },
    ...
}

実行する./bin/behat --initと、次のいずれかのエラー メッセージが表示されます。

PHP Fatal error:  Class 'DOMDocument' not found in .../symfony/config/Symfony/Component/Config/Util/XmlUtils.php on line 47

また:

PHP Fatal error:  Call to undefined function Behat\Behat\DependencyInjection\mb_internal_encoding() in .../behat/behat/src/Behat/Behat/DependencyInjection/BehatExtension.php on line 54
4

1 に答える 1

1

DOMDocument は「DOM」PHP 拡張機能の一部です。PHP をソースからコンパイルすると、デフォルトで含まれます。エンタープライズ Linux ベースのシステムにphpPHP を完全にインストールするには、モジュールをインストールするだけでは不十分です。2 番目のエラーは、マルチバイト文字列モジュールの欠落が原因です。これらは、PHP を再コンパイルせずに手動でインストールできます。Puppet を使用してこれを行うには、init.ppファイルに以下を追加します。

package { "php-mb":
  ensure => "5.3.3-22.el6"
}
package { "php-xml":
  ensure => "5.3.3-22.el6"
}

バージョン番号は、既にインストールされている PHP のバージョンと一致します。これは次と同等です。

yum -y install php-mb php-xml

Behat が初期化され、エラーなしで実行されるようになりました。

于 2013-06-26T14:16:14.630 に答える