2011-09-29 12 views
5

He pasado de WAMP a EasyPHP y ahora hay problemas al usar PDO. PDO funciona bien cuando veo el sitio en el navegador, pero no funciona en cmd o cuando ejecuto el archivo de prueba a través de Netbeans. me sale:La extensión PHP PDO no está disponible en la línea de comando

"PDOException: no se pudo encontrar controlador"

En phpinfo() de comando de configuración que tengo

cscript /nologo configure.js " --enable-snapshot-build" " --disable-isapi" " --enable-debug-pack" " --disable-isapi" " --without-mssql" " --without-pdo-mssql" " --without-pi3web" " --with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8-11g=D:\php-sdk\oracle\instantclient11\sdk, shared" " --enable-object-out-dir=../obj/" " --enable-com-dotnet" " --with-mcrypt=static" " --disable-static-analyze" 

En php.ini ya he descomentado estas líneas:

extension=php_pdo_mysql.dll 

extension=php_mysql.dll 

¿Alguna idea sobre cómo puedo hacer que esto funcione?

+2

Parece que está cargando el php.ini incorrecto. 'phpinfo()' debería decirte eso. – Znarkus

Respuesta

2

Toda la instalación del servidor web en el caso de que esté en Linux o Windows generalmente use 2 php.ini diferentes. Uno para CLI (cliente de línea de comando) y otro para APACHE o wathever, el servidor está en easyphp.

No puedo ayudarte más que eso ya que estoy en Linux y no uso EasyPHP, pero mira en esa dirección, tal vez una búsqueda en todo el sistema puede ayudarte.

0

Encontré la solución al problema. Como señaló Mathieu Dumoulin, PHP tiene cargas con un .ini diferente para CLI. Entonces, lo que hice fue crear un archivo php-cli.ini en la carpeta php y el problema fue resuelto.

5

Al ejecutar php desde la línea de comandos, puede usar el argumento -c o --php-ini para apuntar al archivo php.ini para usar. Esto le permitirá usar un archivo php.ini para ambos. También puede alias php a php -c/path/to/php.ini si está ejecutando el script usted mismo.

Cuestiones relacionadas