Обход отключенного shell_exec ()

У меня есть эти строки:

активировать модуль в etc / modules / Becker_Tecdoc.xml

<?xml version="1.0"?>
<config>
<modules>
<Becker_Tecdoc>
<active>true</active>
<codePool>local</codePool>
</Becker_Tecdoc>
</modules>
</config>

Becker / TECDOC / и т.д. / config.xml

<?xml version="1.0"?>
<config>
<modules>
<Becker_Tecdoc>
<version>1.0.0</version>
</Becker_Tecdoc>
</modules>
<frontend>
<routers>
<tecdoc>
<use>Standard</use>
<args>
<module>Becker_Tecdoc</module>
<frontName>tecdoc</frontName>
</args>
</tecdoc>
</routers>
</frontend>
</config>

Becker / TecDoc / контроллеры / IndexController.php

<?php
class Becker_Tecdoc_IndexController extends Mage_Core_Controller_Front_Action {
public function indexAction(){
die();
}
}
?>

Когда я звоню в браузере:
http://auto-complet.ro/shop/tecdoc/index/index
или же
http://auto-complet.ro/shop/index.php/tecdoc/index/index

Я получаю 404 ошибку …

Мой system.log показывает эту ошибку:

ERR (3): Warning: shell_exec() has been disabled for security reasons
in /home/autoco/public_html/shop/cron.php on line 65

Мой провайдер не хочет разблокировать shell_exec …

Как я могу это исправить?

Мое magento — Сообщество 1.9.

0

Решение

Ошибка в system.log не связан с вашим контроллером 404ING. Вам нужно исправить некоторые проблемы с капитализацией.

  • Папки app/code/local/becker/tecdoc должно быть app/code/local/Becker/Tecdoc
  • Заявление об использовании вашего контроллера <use>Standard</use> должно быть <use>standard</use>

Ошибка в вашем system.log исходит от cron.php, который не будет использоваться при загрузке контроллера. Вы не должны видеть эту ошибку, поскольку Magento проверяет, shell_exec отключен, прежде чем пытаться выполнить его

$disabledFuncs = explode(',', ini_get('disable_functions'));
$isShellDisabled = is_array($disabledFuncs) ? in_array('shell_exec', $disabledFuncs) : true;

// later

} else if (!$isShellDisabled) {
$fileName = basename(__FILE__);
$baseDir = dirname(__FILE__);
shell_exec("/bin/sh $baseDir/cron.sh $fileName -mdefault 1 > /dev/null 2>&1 &");
shell_exec("/bin/sh $baseDir/cron.sh $fileName -malways 1 > /dev/null 2>&1 &");
exit;
}

// later still

if ($isShellDisabled) {
Mage::dispatchEvent('always');
Mage::dispatchEvent('default');
}

Вы можете попробовать вручную установить $isShellDisabled в true если есть проблемы с его обнаружением.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]