正在访问根文件夹外的 php 个文件 (Laravel)

Accessing php files out of root folder(Laravel)

在我的 Magento 项目文件夹中,我想安装 laravel,以便我可以从 laravel 访问 Mage。目录结构如下

Magento(root)
  --laravel
  --app
  ...
  ...

我怎样才能做到这一点?或者建议任何其他方式,以便我可以从 laravel 访问 magento,如下所示。

require_once ('../app/Mage.php');
    Mage::app();
    Mage::getSingleton('core/session', array('name' => 'frontend'));

     $collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*'); 

更新

控制器相对于 magento 的位置

D:\xampp\htdocs\magento\custom\app\controllers\ProductsController.php

确保路径正确,应该可以。

用这个

require_once (realpath(dirname(__FILE__) . '/../app/Mage.php'));

你的路径(require_once ('../app/Mage.php');)不正确,这就是你面临这个问题的原因issue.Except这个逻辑明智你的代码是正确的。

如果您 运行 您的代码来自 laravel 中的 somefile.php 那么它应该可以工作。

Magento(root)
  --laravel
      |__somefile.php  
  --app
  ...
  ...

我已经用dirname()函数解决了这个问题。

require_once (dirname(dirname(dirname(dirname(realpath(__FILE__))))).'/app/Mage.php');

我认为这不是很好或聪明的方法,但它确实有效。谢谢

也许有人有用:

require_once (dirname(dirname(dirname(dirname(realpath(__FILE__))))).'/../app/Mage.php');

\Mage::app();
$blocks = \Mage::getModel('cms/block')->getCollection();


foreach ($blocks as $block) {
    echo $block->getTitle()."<br>";
}