Laravel executar "php artisan optimize" al servidor
  • Jordi Llobet
  • 20 d'abr. 2023

Laravel executar "php artisan optimize" al servidor

Comandes d'optimització 

Laravel (versió 9) conté un conjunt de comandes que optimitzen el funcionament de l'aplicació per a un millor rendiment del projecte. En article explicaré com funcionen algunes d'aquestes ordres, fent especial referència a "php artisan optimize". Parlaré d'on s'emmagatzemen els fitxers de memòria cau i en quin ordre s'han d'executar durant el desplegament.

Els fitxers d'optimització generats per les comandes es guarden al directori bootstrap/cache/. 

La comanda "php artisan optimize" ja no és necessària a causa de les millores recents en la memòria cau del codi operatiu PHP. La darrera documentació de Laravel aconsella deixar d'utilitzar aquesta comanda, malgrat  encara es pot utilitzar en la versió de Laravel 9. 

"php artisan optimize" crea o sobreescriu el fitxer bootstrap/cache/config.php. A més a més, "php artisan optimize" també crea o sobreescriu bootstrap/cache/routes-v7.php. Aquesta comanda és una suma de les 2 comandes següents:

  • La comanda "php artisan config:cache" combina totes les vostres configuracions en un sol fitxer per a una càrrega més ràpida. El fitxer de memòria cau es desa a bootstrap/cache/config.php. La comanda esborra la memòria cau anterior abans de crear-ne una de nova. "php artisan config:clear" desfà el procés eliminant bootstrap/cache/config.php.
  • La comanda "php artisan route:cache" crea un fitxer de memòria cau de ruta per a un registre de ruta més ràpid. El fitxer de memòria cau es desa a bootstrap/cache/routes-v7.php. L'ordre esborra la memòria cau antiga abans de crear-ne una de nova. "php artisan route:clear" elimina el fitxer de memòria cau.

Quan estem treballant en local en el nostre projecte Laravel, si creem una ruta nova per tal que no ens aparegui l'error:

Laravel error route not defined  

Podem executar: "php artisan route:cache" que sobreescriurà i afegirà la nova ruta creada en l'arxiu bootstrap/cache/routes-v7.php.

D'altra banda, també podem executar "php artisan optimize" que, tal com he dit abans, inclou la comanda anterior.

Executar les comandes indicades al servidor

En ocasions hem de dotar al nostre projecte de noves funcionalitats que requereixen definició de noves i rutes quan el projecte ja es troba en producció. També ens podem trobar que el nostre servei de "hosting" consisteix en un servidor compartit i no tenim accés a la seva terminal. És a dir, no podem executar les comandes d'optimització que hem vist i, per tant, no podem incloure les noves rutes. Si ens trobem en aquest cas, una solució passaria pujar el següent arxiu cada vegada que executem la comanda relacionada amb les rutes:

  • bootstrap/cache/routes-v7.php

Per defecte la carpeta bootstrap/cache conté un arxiu gitignore. Per tant, es pot fer l'actualització de forma manual a través d'FTP o simplement esborrar l'arxiu gitignore de la carpeta per tal que l'aplicació "git" en faci el rastreig.

comillas

Si no podem executar les comandes d'optimització de Laravel al servidor perquè no tenim accés a la terminal, hem d'actualitzar al servidor els arxius de la carpeta "bootstrap/cache/" modificats en executar les comandes

No hi ha comentaris
Deixa un comentari
El teu missatge és obligatori.