0

複数のストアで Magento を実行しています。ベースストアは完璧に機能します。セカンダリ ストアでチェックアウトに到達し、https に切り替えると、次の一連の警告が生成されます。

Warning: require_once() [function.require-once]: open_basedir restriction in effect.     

File(/var/www/vhosts/mainstore.com/httpdocs/app/Mage.php) is not within the allowed path(s): (/var/www/vhosts/secondarystore.com/httpdocs:/tmp) in /var/www/vhosts/secondarystore.com/httpdocs/index.php on line 41

Warning: require_once(/var/www/vhosts/mainstore.com/httpdocs/app/Mage.php) [function.require-once]: failed to open stream: Operation not permitted in /var/www/vhosts/secondarystore.com/httpdocs/index.php on line 41

Fatal error: require_once() [function.require]: Failed opening required '/var/www/vhosts/mainstore.com/httpdocs/app/Mage.php' (include_path='.:') in /var/www/vhosts/secondarystore.com/httpdocs/index.php on line 41

phpinfo は、open_basedir について次のように表示します

local value : /var/www/vhosts/mainstore.com/httpdocs:/tmp
master value: none

何を与える?

4

1 に答える 1

1

Tl;DR; あなたのサーバーを管理している人に怒鳴ってください。

php_infoどのように関数を実行しましたか? Magento と同じ PHP コンテキストで、または Magento をブートストラップせずに単独で? エラーをスローしているサイトの URL と同じ .htaccess および Apache (または代替 Web サーバー) コンテキストの下で、または別の URL コンテキストの下で? セットアップはhttpsセットアップと同じ apache 構成を使用していhttpますか? php.ini構成値を設定する場所はたくさんあります。

  1. 所有している各ドメインは、異なるphp.iniファイルを使用している可能性があります。ドメインの SSL バージョンと非 SSL バージョンは、異なるドメインと見なされます

  2. ユーザー固有のphp.iniファイルがあります

  3. 値は.htaccessファイルを介して設定できます

  4. 値は、実行時に PHP 経由で設定できます

PHP があなたに怒鳴りつけているのは、おそらくホスティング会社/IT 担当者が PHP のセキュリティ機能をhttpsURL 用に 11 に上げているためです。これが設定されている場所を特定できたとしても、管理者権限がないと変更できない可能性があるため、サーバーの仕組みを知っている人を見つければ、探している答えが見つかるでしょう。

于 2012-02-29T01:55:01.650 に答える