VMware Playerの下のCentOSの下のlocalhostにSymfonyをインストールしました。 (Windows 7、32ビット) 私のPHPのバージョンは5.3.3です。 CentOSは6.5です。 VMware Playerは6.0.1です。
に接続しようとしたとき localhost/Symfony/web/app_dev.php
次のエラーが表示されます
ClassNotFoundException:からクラス "DOMDocument"をロードしようとしました グローバル名前空間 /var/www/html/Symfony/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php 47行目
このクラスのuseステートメントを忘れましたか?
行47は
$dom = new DOMDocument();
"DOMDocument"をgrepすると102ヒットする。
ほとんどのヒットが表示されます
$dom = new DOMDocument();
または
$dom = new DOMDocument();
私は以前に同じスクリプトに従ってSymfonyを外部サーバーにインストールしていて、それを実行することができました app_dev.php
問題なく。 (FreeBSD)
違いは何ですか new DOMDocument();
そして new DOMDocument();
。 私はJavaScriptとPHPの初心者です。誰もが私がこれを修正するためにすべきことを知っていますか?それともトラブルシューティングの方法についていくつかの手がかり?
回答:
回答№1の11ランニング yp install php-xml CentOS 6.5で私は問題を解決しました。
回答№2の場合は3
バックスラッシュ(new DomDocument()
他の名前空間の内側からグローバル名前空間からクラスをロードしているときは)が必要です言い換えれば、あなたが使用した場合 namespace <something>
あなたのファイルの先頭には、あなたが使用する必要があります new DomDocument()
ロードする DomDocument
グローバルネームスペースから。あなたがグローバル名前空間にいる場合(デフォルト、名前空間を明示的に宣言していない場合)、 new DomDocument()
直接。
バックスラッシュとエラーなしの両方でエラーが発生するのであれば、PHPエクステンションが欠けているからです。 php-xml
。ちょうど追加する extension=dom.so
あなたのphp.iniに。この拡張子はデフォルトでPHPにバンドルされています。
web / config.phpを実行して欠けているものをチェックしてください。