Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/07/2010, 12:00
angel9484
 
Fecha de Ingreso: mayo-2009
Mensajes: 41
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: dirname(__FILE__) en Windows, problemas con la ruta

La cosa ha quedado así:
el index.php
Código PHP:
Ver original
  1. <?php
  2. //require_once(substr(dirname(__FILE__), 0,-4).'config/ProjectConfiguration.class.php');
  3. //require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
  4. require_once substr($_SERVER['DOCUMENT_ROOT'],0,-4).'config/ProjectConfiguration.class.php';
  5. $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
  6. sfContext::createInstance($configuration)->dispatch();

ProjectConfiguration.class.php:
Código PHP:
Ver original
  1. <?php
  2.  
  3. //require_once substr(dirname(__FILE__), 0,-6).'lib/autoload/sfCoreAutoload.class.php';
  4. //require_once substr(str_ireplace("\\", "/",dirname(__FILE__)),0,-6).'lib/autoload/sfCoreAutoload.class.php';
  5. //require_once dirname(__FILE__).'/../lib/autoload/sfCoreAutoload.class.php';
  6. require_once substr($_SERVER['DOCUMENT_ROOT'],0,-4).'lib/autoload/sfCoreAutoload.class.php';
  7. sfCoreAutoload::register();
  8.  
  9. class ProjectConfiguration extends sfProjectConfiguration
  10. {
  11.   public function setup()
  12.   {
  13.     $this->enablePlugins('sfDoctrinePlugin');
  14.   }
  15. }

El error:
Código HTML:
Ver original
  1. Warning: require_once(D:/Proyectos/PHP/jobeet/lib/autoload/sfCoreAutoload.class.php) [function.require-once]: failed to open stream: No such file or directory in D:\Proyectos\PHP\jobeet\config\ProjectConfiguration.class.php on line 6
  2.  
  3. Fatal error: require_once() [function.require]: Failed opening required 'D:/Proyectos/PHP/jobeet/lib/autoload/sfCoreAutoload.class.php' (include_path='.;c:\php\includes;D:\symfony.1.4\symfony') in D:\Proyectos\PHP\jobeet\config\ProjectConfiguration.class.php on line 6

No me funciona aún asi, debo estar haciendo algo fatal de base, porque no me creo que todo el mundo tenga estos problemas (o es que todo el mundo copia toda la carpeta del proyecto dentro de "www"

Mi estructura está así:
WAMP:
c:\Wamp
localhost:
c:\Wamp\www

Proyecto en symfony:
D:\Proyectos\PHP\jobeet

symfony dentro del proyecto:
D:\Proyectos\PHP\jobeet\lib\vendor\symfony

".htaccess" (entre comillas ya que es un "alias" como lo entiende wamp por lo que parece (en c:\Wamp\alias\jobeet.conf)

Código Apache:
Ver original
  1. <VirtualHost 127.0.0.1:80>
  2.   ServerName jobeet.localhost
  3.   DocumentRoot "D:/Proyectos/PHP/jobeet/web/"
  4.   DirectoryIndex index.php
  5.   <Directory "D:/Proyectos/PHP/jobeet/web/">
  6.     AllowOverride All
  7.     Allow from All
  8.   </Directory>
  9.  
  10.   Alias /sf "D:/Proyectos/PHP/jobeet/lib/vendor/symfony/data/web/sf/"
  11.   <Directory "D:/Proyectos/PHP/jobeet/lib/vendor/symfony/data/web/sf/">
  12.     AllowOverride All
  13.     Allow from All
  14.   </Directory>
  15. </VirtualHost>

Quizá una solución sea, en el htaccess crear un alias llamado "web" y que lleve a la ruta d:\Proyectos\PHP\jobeet\web ?
es lo siguiente que queria hacer, pero no queria salirme del guión del tutorial de symfony...