0

ファイル内の関数を使用できるように、Magento で php ファイルを require_once しようとしています。php ファイルをどこに配置しても、どこに要求しようとしても、同じエラーが発生します。

Fatal error: require_once(): Failed opening required 'http://127.0.0.1/ezzence/functions.php' (include_path='C:\wamp\www\ezzence\app\code\local;C:\wamp\www\ezzence\app\code\community;C:\wamp\www\ezzence\app\code\core;C:\wamp\www\ezzence\lib;.;C:\php\pear') in C:\wamp\www\ezzence\app\design\frontend\default\theme317\template\page\html\head.phtml on line 28

PHP ファイルには関数が 1 つしか含まれていないため、php ファイル自体には問題はありません。PHPが私のphpファイルを見つけられないようです。私は次のようにそれを要求しようとします:

<?php require_once($this->getBaseUrl() . 'functions.php');?>

もともとファイルを に置きたかったのですskin/theme/default/inc/が、テスト目的でルートに移動しました。

私のphp.iniにallow_url_fopen = Onがあることを確認しましたが、それがrequire_onceメソッドに影響するかどうかはわかりません。

どんな提案でも大歓迎です。前もって感謝します :)

4

2 に答える 2

1

getBaseUrl 関数は、PATH ではなく URL を取得するためのものです

Mage::getBaseDir()

この関数は正しい magento インストール パスを返します

于 2013-10-09T10:16:53.900 に答える
1

http 経由で php ファイルを含めることはできません。これは間違っています:

required once 'http://example.com/some_file.php'

これがあなたが探しているものだと思います:

require_once($this->getBaseDir() . 'functions.php'

しかし、これも Magento のやり方ではありません。モジュールを作成し、関数をヘルパー内に配置する必要があります。require_once次に、次のようなステートメントを必要とせずに関数を呼び出すことができます。Mage::helper('helper_alias_here')->doSomething()

編集 とトピックから少し離れ
て Magento を適切な方法で使用する場合require、コントローラー クラスを書き直さない限り、ステートメントを使用する必要はありません。

于 2013-10-09T10:19:18.370 に答える