2010-08-30 31 views
0

Sur ma machine locale le script fonctionne très bien, mais quand je l'ai mis sur le serveur je reçois:travail sur les retours localhost mais le serveur « failed to open stream: Aucun fichier ou répertoire »

application/crochets /zend.php

[9]: require_once (chargeur/Autoloader.php) [function.require-fois]: failed to open stream : Aucun fichier ou répertoire

Stack Trace

application/crochets/zend.php [9]: require_once()

système

/core/Kohana.php [199]: comprennent ( application/crochets/zend.php)

système/core /Bootstrap.php [37]: Kohana :: setup()

index.php [106]: require (système/core/Bootstrap.php)

Je suis en train de charger zend en Kohana 2.3. Voici ce zend.php

<?php defined('SYSPATH') OR die('No direct access allowed.'); 
/** 
* zend.php 
*/ 
ini_set('include_path', ini_get('include_path'). 
PATH_SEPARATOR.SYSPATH.'vendor/'); 
ini_set('include_path', ini_get('include_path'). 
PATH_SEPARATOR.SYSPATH.'vendor/Zend/'); 
require_once 'Loader/Autoloader.php'; 
Zend_Loader_Autoloader::getInstance(); 
?> 

J'ai perplexe sur ce pendant environ 2 jours et j'ai suivi beaucoup de nombreux tutoriels différents et différents itinéraires de le faire. Donc, toute direction serait géniale. Actuellement ma structure de fichier et mis en place matches this

+3

Loader/Autoloader.php on ne trouve pas dans l'un des répertoires dans votre include_path directive INI. Si vous faites un "echo ini_get ('include_path');", à quoi cela ressemble-t-il? et où se trouve votre répertoire Loader /? –

+0

:/usr/share/pear1 est ce qu'il est après l'ini_set qui n'est pas différent de celui d'avant ini_set (où il change sur localhost). Donc, ce que j'obtiens de ce test est que mon serveur n'est pas support ini_set? – bradenkeith

+0

Il semble que votre chemin d'inclusion soit écrasé, ce qui expliquerait pourquoi vous ne pouvez pas appeler require_once sur le fichier. La prochaine étape que je conseillerais serait de faire cet appel 'echo ini_get..' en commençant par le premier point d'entrée de script et en le déplaçant plus loin jusqu'à ce que vous puissiez identifier où les choses tournent mal. –

Répondre

3

cela fonctionne à chaque fois pour moi:

<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/Loader/Autoloader.php'); ?> 
+1

Bam - le voilà. Il l'a cassé sur mon serveur local mais je me sens comme je peux patcher cela. Jusqu'à présent, cela fonctionne bien ... Je vais voir s'il y a des effets secondaires. – bradenkeith

+0

si le chemin est défini incorrect require_once passera par une erreur fatale. essayez de répercuter la racine du document sur une page de travail pour vous assurer que c'est ce que vous pensez. Parfois, c'est hors de propos. –

0

Que pensez-vous de cela?

if ($path = Kohana::find_file('vendors', 'Zend/library/Zend/Loader')) 
{ 
    ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.dirname(dirname($path))); 
    require_once 'Zend/Loader/Autoloader.php'; 
    Zend_Loader_Autoloader::getInstance(); 
} 

Source: kohana-zend (kolanos)

+0

ini_set est l'endroit où j'avais des problèmes. C'est juste une façon différente d'écrire ce que j'ai comme code source. Merci pour la réponse. – bradenkeith