2012-05-28 51 views
7

Tengo un sitio web que genera un archivo PDF basado en datos.ERROR DE TCPDF: No se puede abrir el archivo de imagen:/var/www/html/tcpdf/cache/

Lo he probado en un servicio de hosting gratuito y está bien, pero cuando subo a mi servidor me sale este error:

TCPDF ERROR: No se puede abrir archivo de imagen:/var/www/html/TCPDF/cache/mska_1d34cb1ba2c1951624fbccb7556c6d1d

en la carpeta caché el imposible de mska_1d34cb1ba2c1951624fbccb7556c6d1d existe en la carpeta.

Respuesta

12

Obtuve la respuesta ahora.

Para todos los que puedan encontrar este problema, esta es la solución posible.

Una de las causas es que las carpetas dentro de tcpdf no tienen permisos de escritura y lectura. asegúrese de que la carpeta para la caché y las imágenes tenga el permiso 644 o 755 (recomendado). estos permisos son muy importantes porque hay un proceso al generar pdf, escribir algo es el caché o leer en imágenes.

Otra causa es que tcpdf no acepta archivos png o con imágenes transparentes. Mi solución fue convertir la imagen en un jpeg y aplicarle un fondo blanco. así que evita png con transparente.

Espero que haya sido de ayuda.

+1

Me ahorras muchos problemas con la descripción de transparencia de PNG. Muchas gracias! –

+0

Su bienvenida^__^ – Bert

+4

Descubrí que al guardar imágenes como PNG de 8 o 24 bits (en Fireworks), TCPDF las acepta, pero una PNG de 32 bits genera errores. Independientemente de la transparencia. – stef

2

En una suposición (con un nombre como ese), está intentando ESCRIBIR a esa carpeta. Compruebe PHP/Apache tiene permisos de escritura para esa carpeta.

También querrá leer más tarde, así que otorgue permisos de lectura y escritura.

2

Además de la recomendación de Bert de verificar los permisos de la carpeta, verifique los problemas HTTP/HTTPS y tenga en cuenta que puede establecer la ruta del servidor K_PATH_MAIN a la carpeta tcpdf si no se calcula automáticamente correctamente. (En tcpdf_config.php)

define ('K_PATH_MAIN', '/my/absoulte/path/tcpdf/');

1

Basta con crear una carpeta llamada caché de las carpetas de la biblioteca TCPPDF

donde hay config carpetas, fuentes e imágenes, también crear un archivo de carpetas de caché y dar permiso o 777 755 si no funciona.

3

En Ubuntu este error se fijó mediante el establecimiento de 777 permisos en la carpeta tcpdf/cache/:

chmod 777 cache 

he intentado con 755 o 775 y no funcionó.

+1

Gracias, mi problema fue resuelto con este. Obtenía un ** ERROR DE TCPDF: No se puede abrir el archivo de imagen: ** (sin ruta de archivo de imagen) –

+1

Como asusto sería demasiado permisivo, intento y éxito cambiando el grupo de directorio de caché para que sea www- datos (nombre de apache) y mantener 755 para permisos. – CedSha

0

Este problema también puede deberse a la aplicación de SELinux. Se necesita agregar una excepción. Se puede probar fácilmente con setenforce 0, y luego volver a intentar para producir el pdf.

0

Compruebe que sus archivos tengan extensión de PDF (en minúsculas) y no de PDF (mayúsculas). O hazlos consistentes de una forma u otra. Tuve este problema entre los sistemas de Windows/Linux.

0

En mi caso, el archivo estaba protegido y TCPDF intentó obtener esa imagen con CURL (!?!?) y obtuvo un error 403, porque Apache no encontró la cookie correcta.

Cuestiones relacionadas