Necesita una ruta absoluta para guardar el archivo de Excel en AWS Ec2 Linux para PHPExcel.
$excel_path = '/var/www/html/MyProject/public/SubmittedSheets/'.$userId.'-'.uniqid().'.xlsx';
$objWriter->save($excel_path);
Lo resolví en mi sistema Mac OS simplemente descomentando la línea
;sys_temp_dir = "/tmp"
en php.ini
, es decir, cambiándolo a
sys_temp_dir = "/tmp"
Directorio en el que deben colocarse los archivos temporales. El valor predeterminado es el predeterminado del sistema (ver sys_get_temp_dir)
Sin embargo, no estoy seguro de qué directorio intentó usar como predeterminado, posiblemente /var/tmp
, que mi instalación PHP de Homebrew no parece tener permiso para escribir.