magento - 警告:require_once(app/Mage.php):无法打开流:没有这样的文件或目录

Posted

技术标签:

【中文标题】magento - 警告:require_once(app/Mage.php):无法打开流:没有这样的文件或目录【英文标题】:magento - Warning: require_once(app/Mage.php): failed to open stream: No such file or directory 【发布时间】:2017-04-08 22:34:48 【问题描述】:

使用 ajax,我使用以下代码发布到一个 php 文件。但是我在尝试要求 app/Mage.php 时收到以下错误:

警告:require_once(app/Mage.php):打开流失败:没有这样的文件或目录

<?php
require_once ('app/Mage.php');
Mage::app();

function getProductStockLevel() 
    $productId = 104;
    $product = Mage::getModel('catalog/product')->load($productId);
    $qty = $product->getStockItem()->getQty();
    echo $stockLevel;

getProductStockLevel();
?>

谁能帮忙,我需要这个文件做的就是根据产品 ID 返回库存值吗?

谢谢

【问题讨论】:

从哪里运行这个脚本? 【参考方案1】:

你的 ajax 帖子可能没有得到正确的路径,试试这个吧:

require_once(__DIR__ . '/app/Mage.php');

【讨论】:

【参考方案2】:

大多数时候,像“Warning: require_once(app/Mage.php): failed to open stream: No such file or directory”这样的错误意味着 PHP 正在其包含路径中查找文件,但不能找到任何东西。

app/Mage.php 位于何处? (请记下路径)。

现在,打开 php.ini。在 Linux 发行版中,php.ini 往往位于 /etc/php.ini,但如果您使用 MAMP 或 XAMPP 之类的东西,它将位于 MAMP/XAMPP 文件夹中。我不知道默认情况下 php.ini 会存储在 Windows 机器上的什么位置。

打开 php.ini 后,找到此部分(注意:这是来自我的 MAMP 安装,因此您的值可能会有所不同):

; UNIX: "/path1:/path2"  
include_path =".:/Applications/MAMP/bin/php/php5.4.45/lib/php"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

确保 Mage.php 所在的完整路径在你自己的个人环境的 include_path 中列出。例如,如果您将您的 include 保留在您的 Web 空间之外(这总是一个好主意,特别是如果您的 include 中有密码之类的东西)并且如果您使用类似 Unix 的操作系统,您可能希望您的 include_path 看起来像这个:

; UNIX: "/path1:/path2"  
include_path =".:/Applications/MAMP/bin/php/php5.4.45/lib/php:/app/appName/"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

【讨论】:

以上是关于magento - 警告:require_once(app/Mage.php):无法打开流:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

调用 require_once() 的警告和致命错误

警告:require_once():在 PHP 中依赖系统的时区设置错误是不安全的

警告:require_once(./mailer/class.phpmailer.php):打开流失败:

警告:require_once(): http:// wrapper 在服务器配置中被 allow_url_include=0 禁用

警告:require_once(Composer/PHPMailer/vendor/phpmailer/phpmailer/src/autoload.php):无法打开流:没有这样的文件或目录

警告:require_once(Zend / Application.php)[function.require-once]:无法打开流:没有这样的文件或目录