Si estamos intentando subir archivos y nos lanza este error:
ErrorException – fopen(/var/www/…/public): failed to open stream: Is a directory – Laravel
Puede ser que nos confunda un poco por algún tema de premisos, pero quizás sea un problema de restricciones de nuestro php.ini.
Tendremos que modificar parametros como:
post_max_size = 1024M
upload_max_filesize = 1024M
max_execution_time = 90
max_input_time = 120
Son los que pueden estar dándonos este problema, para modificar el archivo, es conveniente que sepamos que versión de php estamos utilizando con el siguiente comando:
php -version
Y nos responderá algo parecido a:
PHP 7.0.27-0+deb9u1~bpo8+1 (cli) (built: Mar 24 2018 08:34:58) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-0+deb9u1~bpo8+1, Copyright (c) 1999-2017, by Zend Technologies
Y a partir de ahí podemos buscar nuestro archivo php.ini con, por ejemplo:
sudo find / -name "php.ini"
A mi me devuelve estos:
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/cgi/php.ini
A partir de ahí ya sé cual tengo que modificar, en mi caso /etc/php5/apache2/php.ini.
sudo nano /etc/php/7.0/apache2/php.ini
Modificamos los parámetros y reiniciamos apache (Recordamos que es bien revisar la configuración con: «apachectl configtest» y que nos tiene que responder «Syntax OK» antes de reiniciar, ya que nos puede evitar problemas y que apache deje de funcionar hasta que lo corrijamos)
sudo /etc/init.d/apache2 restart