Foros del Web » Programando para Internet » PHP » Zend »

[SOLUCIONADO] Problemas al subir a un servidor Linux

Estas en el tema de Problemas al subir a un servidor Linux en el foro de Zend en Foros del Web. Hola: Todo mi proyecto lo trabajé en un servidor Windows, pues ahora me pidieron que lo suba a un servidor linux, sin embargo, sabía que ...
  #1 (permalink)  
Antiguo 20/08/2013, 18:11
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 9 años, 10 meses
Puntos: 12
Problemas al subir a un servidor Linux

Hola:

Todo mi proyecto lo trabajé en un servidor Windows, pues ahora me pidieron que lo suba a un servidor linux, sin embargo, sabía que debía tener cuidado con el casesensitive de las variables, pero el error que tengo es este:

Cita:
<br />
<b>Warning</b>: include_once(Application/Entity/Repositories/Exception.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in <b>/opt/aplicaciones/htdocs/ZendFramework-1.12.3/library/Zend/Loader.php</b> on line <b>134</b><br />
<br />
<b>Warning</b>: include_once() [<a href='function.include'>function.include</a>]: Failed opening 'Application/Entity/Repositories/Exception.php' for inclusion (include_path='/opt/aplicaciones/htdocs/gdbcb/application/../library:/opt/aplicaciones/htdocs/gdbcb/library:.:/php/includes:/opt/aplicaciones/htdocs/ZendFramework-1.12.3/library') in <b>/opt/aplicaciones/htdocs/ZendFramework-1.12.3/library/Zend/Loader.php</b> on line <b>134</b><br />
<br />
<b>Fatal error</b>: Class 'Application\Entity\Repositories\Exception' not found in <b>/opt/aplicaciones/htdocs/gdbcb/library/Application/Entity/Repositories/DocumentoRepository.php</b> on line <b>292</b><br />
En el repositorio todos mis procesos están en
Código PHP:
Ver original
  1. try{
  2. //....
  3. }catch (\Exception $e){
  4.             throw new \Exception('Ocurrió un error al obtener los documentos '.$e);
  5. }
por lo que veo intenta buscar un archivo de exception en Repositorios pero no existe dicho archivo, será que ¡tengo que configurar al adicional en mi servidor linux?
  #2 (permalink)  
Antiguo 20/08/2013, 19:03
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Problemas al subir a un servidor Linux

Pue resolví ese problema de Exception, sin embargo, aqui se genera el problema no se que pueda ser por que el lio es con Linux
Código PHP:
Ver original
  1. $documentoid = $this->em->find ( 'Application\Entity\Documento', $documentoid);
  2.                 foreach ( $destino as $value ) {
  3.                     $histousuarioid = $this->em->find ( 'Application\Entity\Histousuario', 18 );     //El problema esta qui
  4.                     $cargosid = $this->em->find ( 'Application\Entity\Cargos', $cargo->getCargoId ( $value ) );
  5.                     $lista = new \Application\Entity\Lista ();
  6.                     $lista->setDocumento ( $documentoid );
  7.                     $lista->setCargos ( $cargosid );
  8.                     $lista->setHistousuario ( $histousuarioid );
  9.                     $this->em->persist ( $lista );
  10.                     $this->em->flush ();
  11.  
  12.                        
  13.                 }
En linux no me esta recuperando la entidad, y este es el mensaje de error de doctrine
Cita:
'Ocurrió un error al registrar los Destinatarios Internos exception 'Doctrine\ORM\Proxy\ProxyException' with message 'Your proxy directory must be writable.' in /opt/aplicaciones/htdocs/gdbcb/library/Doctrine/ORM/Proxy/ProxyException.php:32
En ese ejemplo obtengo tres entidades,

$documentoid,
$histousuarioid,
$cargosid.

en ese orden pero el error me da cuando obtengo la entifad $histousuarioid y no al obtener documentoid.

Por favor alguna idea de que pueda ser
  #3 (permalink)  
Antiguo 20/08/2013, 19:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 11 años, 10 meses
Puntos: 845
Respuesta: Problemas al subir a un servidor Linux

Pregunta tonta, el directorio es writable para el usuario de apache ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 21/08/2013, 08:22
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Problemas al subir a un servidor Linux

no me parece tonta tu pregunta, averiguando pude establecer que con este comando:

ps -ef | grep httpd | grep -v grep

ó este otro

ps -ef | grep apache | grep -v grep

obtengo este resultado en linux, ojo estoyo como root
Cita:
daemon 1186 26460 0 09:09 ? 00:00:01 /opt/apache/bin/httpd -k start
daemon 3625 26460 0 Aug20 ? 00:00:10 /opt/apache/bin/httpd -k start
daemon 5882 26460 0 Aug20 ? 00:00:05 /opt/apache/bin/httpd -k start
daemon 6043 26460 0 Aug20 ? 00:00:06 /opt/apache/bin/httpd -k start
daemon 6643 26460 0 Aug20 ? 00:00:08 /opt/apache/bin/httpd -k start
daemon 7097 26460 0 Aug20 ? 00:00:03 /opt/apache/bin/httpd -k start
daemon 7390 26460 0 Aug20 ? 00:00:05 /opt/apache/bin/httpd -k start
daemon 7493 26460 0 Aug20 ? 00:00:00 /opt/apache/bin/httpd -k start
daemon 7526 26460 0 Aug20 ? 00:00:03 /opt/apache/bin/httpd -k start
daemon 7802 26460 0 Aug20 ? 00:00:01 /opt/apache/bin/httpd -k start
root 26460 1 0 Aug16 ? 00:00:18 /opt/apache/bin/httpd -k start
mi pregunta es, cual directorio deberia darle permiso al usuario de apache?
  #5 (permalink)  
Antiguo 21/08/2013, 10:02
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Problemas al subir a un servidor Linux

En definitiva, no me quepa duda que el problema está en la Entidad Histousuario, el problema es que en Windows recupera la entidad pero en Linux me muestra Error, puede ser que La entidad esté defectuosa, por lo que volví a generar otra entidad Histousuario pero el error persiste, algúna idea de que pueda ser o si existe algúna herramienta para validar una entidad en doctrine?

Gracias
  #6 (permalink)  
Antiguo 21/08/2013, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Problemas al subir a un servidor Linux

Si te fijas el error:
Código:
'Ocurrió un error al registrar los Destinatarios Internos exception 'Doctrine\ORM\Proxy\ProxyException' with message 'Your proxy directory must be writable.' in /opt/aplicaciones/htdocs/gdbcb/library/Doctrine/ORM/Proxy/ProxyException.php:32
Te dice que tu directorio de proxy no puede escribir, ese es el directorio que tienes que configurar y darle permisos al mismo usuario que usa PHP.

Saludos.
  #7 (permalink)  
Antiguo 21/08/2013, 11:34
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Problemas al subir a un servidor Linux

Pues si tienes razon, En linux inicialmente la carpeta Proxy (que almacena todos los proxies generados por doctrine) tenía permisos 755 y me enviava a error, luego probé cambiando los permisos a 775 pero tambien me enviaba error, luego lo cambie a 757 y si funciona, pero en todo esto me quedan muchas dudas:

1. por que cuando el permiso en la carpeta proxy estaba en 755 obtenía la entidad documento y otras entidades pero no podía obtener la entidad Histousuario?

2. Cuando el sistema se ponga en producción los niveles de permisos son a 755, que exactamente hace el proxy para tener el nivel de permisos a 757? (que es de otros y propietario)
  #8 (permalink)  
Antiguo 21/08/2013, 13:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Problemas al subir a un servidor Linux

Doctrine tiene que generar los proxies a como lo vea necesario, así que de vez en cuando los va a regenerar, por lo que lo ideal es que tu carpeta de proxies este como 777.

Saludos.
  #9 (permalink)  
Antiguo 21/08/2013, 14:46
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 9 años, 10 meses
Puntos: 12
Respuesta: Problemas al subir a un servidor Linux

Muchas gracias por esa aclaración.

Etiquetas: linux, servidor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:00.