Загрузка «пользовательских ресурсов» в Zend Framework 1.10 - PullRequest
3 голосов
/ 21 февраля 2010

Все работало нормально в 1.9.6. Я изменил на 1.10, и теперь у меня много предупреждений для практически всех ресурсов приложения.

Похоже, что ZF ищет ресурсы приложения по пути "пользовательских ресурсов", который я установил: pluginpaths.App_Application_Resource = "App / Application / Resource. Есть ли способ избежать этого? (Заранее спасибо за ваше время)

application.ini:

resources.locale.default = sq_AL
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.frontController.throwExceptions = 0

; VIEW & HTML Markup Options
resources.view.doctype = "HTML5"
resources.view.language = "en"
resources.view.setSeparator=" - "
resources.view.helperPath.View_Helper = APPLICATION_PATH "/views/helpers"
resources.view[] = 

; custom resources
**pluginpaths.App_Application_Resource = "App/Application/Resource"**

в библиотеке / App / Application / Resource / Cache У меня есть класс "App_Application_Resource_Cache extends Zend_Application_Resource_ResourceAbstract", который мне нужен для кэша. Проблема в том, что сейчас на первой странице у меня много предупреждений вроде:

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/App/Application/Resource/Locale.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php  on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/lib64/php/modules/App/Application/Resource/Locale.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/App/Application/Resource/Frontcontroller.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/lib64/php/modules/App/Application/Resource/Frontcontroller.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/App/Application/Resource/Layout.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/lib64/php/modules/App/Application/Resource/Layout.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/Doctype.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/lib64/php/modules/./views/helpers/Doctype.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/HeadMeta.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/lib64/php/modules/./views/helpers/HeadMeta.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/HeadTitle.php) is not within the allowed path(s): (/var/home//httpdocs:/tmp:/var/home/) in /var/home//library/Zend/Loader.php on line 190

На всякий случай, если кому-то это нужно, при загрузке это Autoload-er

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
 protected function _initAutoload()
    {
  $autoloader = new Zend_Application_Module_Autoloader(
   array(
          'namespace' => 'App',
          'basePath' => dirname(__FILE__),
      )
     );
     return $autoloader;
    }

Ответы [ 2 ]

7 голосов
/ 21 февраля 2010

@ Пекка

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    //get_include_path(),
)));

Комментируя get_include/path() (в index.php), я исключил включение из / usr / share / php /. Предупреждения ушли.

Спасибо за вашу (превосходную) помощь!

Очевидно, что существует проблема с PLESK & CentOS, когда путь включения PHP недоступен для vhosts!

5 голосов
/ 21 февраля 2010

Ну, этот вопрос был отсортирован в комментариях :) Превращая это в ответ, вы можете согласиться закрыть вопрос.

Вам не разрешен доступ к этому пути из вашего PHP-скрипта, посмотрите на сообщение об ошибке (/ usr / share отсутствует в списке разрешенных каталогов). Изменение пути включения (я думаю) / var/home/library/Zend/ должно решить это.

Очевидно, что существует проблема с PLESK & CentOS, когда путь включения PHP недоступен для vhosts!

Я думаю, что до настройки open_basedir, которая запрещает виртуальным хостам доступ к чему-либо вне их, это не зависит от ОС. Во всяком случае, рад, что это было отсортировано!

...