{"id":85,"date":"2010-04-06T16:32:13","date_gmt":"2010-04-06T15:32:13","guid":{"rendered":"http:\/\/capri.dev\/blog\/?p=85"},"modified":"2022-11-01T23:01:24","modified_gmt":"2022-11-01T22:01:24","slug":"problemas-para-subir-ficheros-en-php-bajo-configuraciones-windows-iis6","status":"publish","type":"post","link":"https:\/\/capri.dev\/blog\/problemas-para-subir-ficheros-en-php-bajo-configuraciones-windows-iis6\/","title":{"rendered":"Problemas para subir ficheros en PHP bajo configuraciones Windows + IIS6"},"content":{"rendered":"<p>El problema: <strong>Script PHP perteneciente a cualquier aplicaci\u00f3n que deber\u00eda subir im\u00e1genes al servidor v\u00eda HTTP y no lo hace<\/strong>. El script se ejecuta en entorno Windows + IIS6. La versi\u00f3n de PHP puede ser cualquiera <= 5.3.1 (podr\u00eda ser tambi\u00e9n mayor, pero hablo s\u00f3lo de lo que yo he probado).\n\nVarias veces me he encontrado con el mismo problema, y varias veces me ha hecho perderder el tiempo. La primera vez hasta una semana dando tumbos por la red intentando averiguar el motivo de dicho comportamiento, revisando los permisos de las carpetas de la aplicaci\u00f3n involucradas en el proceso, revisando los scripts, revisando la configuraci\u00f3n del php.ini, y hasta dando permisos excesivos a usuarios potencialmente peligrosos para la web. El resto de veces s\u00f3lo he perdido unos minutos hasta que recordaba: <strong>\u00a1Ah s\u00ed, los permisos de la carpeta temporal de Windows!<\/strong>.<\/p>\n<p>Efectivamente, el problema es que PHP sube los ficheros a una carpeta temporal antes de pasarla a su ubicaci\u00f3n final. Esa carpeta temporal puede variar en cada instalaci\u00f3n, pero por defecto ser\u00eda \u00abc:\\windows\\temp\\\u00bb. Es preciso verificar el valor de la variable de configuraci\u00f3n \u00abupload_tmp_dir\u00bb en el php.ini para asegurarse de cu\u00e1l es la carpeta correcta en nuestra instalaci\u00f3n.<\/p>\n<p><strong>Y la soluci\u00f3n es tan simple como otorgar permiso de escritura a esta carpeta al usuario IUSR_{NOMBRE_DE_LA_MAQUINA}<\/strong>. Mi recomendaci\u00f3n es configurar el php.ini para que esta carpeta no sea \u00abc:\\windows\\temp\\\u00bb, sino una carpeta diferente como por ejemplo \u00abc:\\php\\temp\\upload\\\u00bb por motivos de seguridad evidentes.<\/p>\n<p>Cambiado esto, y supuesto que todas las dem\u00e1s cosas evidentes relacionadas con la subida de ficheros est\u00e9n configuradas, todo ir\u00e1 sobre ruedas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El problema: Script PHP perteneciente a cualquier aplicaci\u00f3n que deber\u00eda subir im\u00e1genes al servidor v\u00eda HTTP y no lo hace. El script se ejecuta en entorno Windows + IIS6. La versi\u00f3n de PHP puede ser cualquiera<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[42,41,211],"class_list":["post-85","post","type-post","status-publish","format-standard","hentry","category-tecnico","tag-iis-6","tag-php","tag-problemas-php"],"_links":{"self":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/posts\/85","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/comments?post=85"}],"version-history":[{"count":0,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/posts\/85\/revisions"}],"wp:attachment":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/media?parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/categories?post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/tags?post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}