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():在 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]:无法打开流:没有这样的文件或目录