【问题标题】:magento - Warning: require_once(app/Mage.php): failed to open stream: No such file or directorymagento - 警告:require_once(app/Mage.php):无法打开流:没有这样的文件或目录
【发布时间】: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 返回库存值吗?

谢谢

【问题讨论】:

  • 从哪里运行这个脚本?

标签: php ajax magento syntax-error require-once


【解决方案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"
    

    【讨论】:

      猜你喜欢
      • 2016-07-24
      • 2011-07-04
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多