无法在MAMP上安装Magento 1.9

时间:2015-01-06 02:08:06

标签: magento

第一次尝试访问我的新Magento实例时,我收到以下错误:

[05-Jan-2015 13:28:46 America/Chicago] PHP Fatal error:  Call to a member function getModelInstance() on a non-object in /Applications/MAMP/htdocs/magento/magento/app/Mage.php on line 463
[05-Jan-2015 13:28:46 America/Chicago] PHP Stack trace:
[05-Jan-2015 13:28:46 America/Chicago] PHP   1. {main}() /Applications/MAMP/htdocs/magento/magento/index.php:0
[05-Jan-2015 13:28:46 America/Chicago] PHP   2. Mage::run($code = *uninitialized*, $type = *uninitialized*, $options = *uninitialized*) /Applications/MAMP/htdocs/magento/magento/index.php:87
[05-Jan-2015 13:28:46 America/Chicago] PHP   3. Mage::printException($e = *uninitialized*, $extra = *uninitialized*) /Applications/MAMP/htdocs/magento/magento/app/Mage.php:702
[05-Jan-2015 13:28:46 America/Chicago] PHP   4. Mage_Core_Model_App->getStore($id = *uninitialized*) /Applications/MAMP/htdocs/magento/magento/app/Mage.php:920
[05-Jan-2015 13:28:46 America/Chicago] PHP   5. Mage_Core_Model_App->_getDefaultStore() /Applications/MAMP/htdocs/magento/magento/app/code/core/Mage/Core/Model/App.php:815
[05-Jan-2015 13:28:46 America/Chicago] PHP   6. Mage::getModel($modelClass = *uninitialized*, $arguments = *uninitialized*) /Applications/MAMP/htdocs/magento/magento/app/code/core/Mage/Core/Model/App.php:900

我正在使用PHP 5.4.34的最新MAMP PRO。虚拟主机解析并正确配置,指向/ Applications / MAMP / htdocs / magento / magento,这是index.php,install.php等所在的位置。

我正在尝试使用示例数据库,并正确填充了数据库,媒体目录和外观目录。我已确保所有文件所有权和权限都是正确的,包括删除任何其他Mac OS下载的文件安全相关标志。

2 个答案:

答案 0 :(得分:0)

我认为问题是您的服务器为*uninitialized*$_SERVER['MAGE_RUN_CODE']传递了错误的值$_SERVER['MAGE_RUN_TYPE']

您可以通过打开Magento根目录中的 index.php 文件进行测试,直到底部并替换它:

Mage::run($mageRunCode, $mageRunType);

有了这个:

Mage::run('base', 'store');

如果你看一下,Magento正在使用$_SERVER变量来确定要运行的代码/类型。

/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

这主要用于多站点Magento环境,因此Magento可以根据域/服务器变量切换存储。

如果我提供的上述测试修复了该问题,请查看服务器为*uninitialized*变量返回$_SERVER的原因,而不是PHP确定它们未设置。


您也可以尝试在MAMP Pro界面中设置Magento环境变量,这可能会解决问题。如果您使用此解决方案,则可以还原对index.php文件所做的任何修改(我建议不要对其进行任何永久性更改)。

转到主持人,选择左侧运行Magento的服务器,然后点击右侧的扩展

其他参数中,输入以下内容:

SetEnv MAGE_RUN_CODE "base" # put here your website or store code
SetEnv MAGE_RUN_TYPE "website" # put here 'website' or 'store'

MAMP Pro v 3.0.3

提示每this StackOverflow answer

答案 1 :(得分:0)

我认为这个问题主要是由于magento的文件夹权限。尝试使用777将文件夹权限更改为chmod 777 -R,一旦工作正常,您可以使用775

将其还原为chmod 775 -R