Si bien la instalación de Magento 2 cada vez es algo más sencillo con el instalador visual que tenemos en esta versión, siempre puede existir la posibilidad de ocurrirnos algún problema, como el que venimos a ver hoy. Por lo general este tipo de error suele ocurrir por una mal configuración de nuestro servidor.
En el ejemplo que venimos a tratar hoy, el problema se debe a que no tenemos instalada la extensión de PHP que nos permite trabajar con las base de datos mediante el uso de la librería PDO.
¿Cómo sabemos que el problema que tenemos es por no tener PDO?
Muy fácil, el error que nos saldrá durante la instalación será este:
PHP Fatal error: Class 'PDO' not found in /var/www/html/magento2/setup/module/Magento/Setup/src/Module/Setup/ConnectionFactory.php on line 44
La forma de solucionar esto sería muy sencillo, simplemente tendríamos que instalar dicha extensión de nuestra instalación de PHP. La forma de hacer esto sería a través del siguiente comando (siendo en este caso nuestra versión de PHP la 7.2, como se indica en el comando):
yum -y install php72u-pdo
Con esto ya solucionaríamos el fatal error Class ‘PDO’ not found, pero durante la instalación de Magento 2 pueden ocurrirnos otro problema de este tipo si no tenemos alguna de las extensiones de PHP requeridas por Magento 2.
¿Cuales son las extensiones de PHP requeridas por Magento2?
- bcmath
- devel
- gd
- iconv
- intl
- json
- mbstring
- mysql
- mysqlnd
- opcache
- pdo
- soap
- xml
Si ejecutamos un php -m por consola obtendremos las extensiones de PHP que tenemos instaladas, por lo que necesitaríamos comprobar si nos falta alguna de las antes indicadas y si no añadirlas mediante yum (en este comando indicamos todas las extensiones necesarias y todas para la versión 7.2 de PHP) :
yum -y install php72u-pdo php72u-mysqlnd php72u-opcache php72u-xml php72u-gd php72u-devel php72u-mysql php72u-intl php72u-mbstring php72u-bcmath php72u-json php72u-iconv php72u-soap