Error en Laravel – php: does not exist and could not be created.
En esta sección veremos como solucionar el error: php: does not exist and could not be created en Laravel, pero probablemente esta sea la solución para otras aplicaciones que dependen de composer.
Primero que nada necesitamos ver cuando tira este error, si yo corro laravel new example1 por ejemplo. En mi caso estoy utilizando Windows y XAMPP por lo tanto la carpeta donde pondré mi proyecto Laravel será C:\xampp\htdocs esto es solo para tener todos los proyectos juntos.
C:\xampp\htdocslaravel new example
_ _ | | | | | | __ _ _ __ __ ___ _____| | | | / _` | '__/ _` \ \ / / _ \ | | |___| (_| | | | (_| |\ V / __/ | |______\__,_|_| \__,_| \_/ \___|_| Creating a "laravel/laravel" project at "./example1" Installing laravel/laravel (v8.6.2) - Downloading laravel/laravel (v8.6.2) - Installing laravel/laravel (v8.6.2): Extracting archive [RuntimeException] php: does not exist and could not be created. create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [] [ ] [ ]
En este caso podemos ver el error cuando tira el mensaje:
[RuntimeException]
php: does not exist and could not be created.
Para arreglar este problema simplemente tendremos que hacerle update a nuestro Composer.
composer self-update
Upgrading to version 2.1.6 (stable channel). Unable to write "C:\ProgramData\ComposerSetup\bin\composer.phar". Access is denied. Complete this operation with Administrator privileges [Y,n]? y Operation succeeded. Use composer self-update --rollback to return to version 2.1.4
Y de esta manera queda nuestro problema solucionado, es probable que cuando corriéramos el laravel new anterior creara la carpeta example1 así que la deberíamos borrar y volver a correr laravel new example1