Laravel 5 with Postgres SQL

前端 未结 7 1412
深忆病人
深忆病人 2020-12-31 02:56

I’m working on Laravel 5 with postgres as database. I’ve configured postgres 9.4 and pgAdmin III and these are working normally. When I try to run migrate it is giving me e

相关标签:
7条回答
  • 2020-12-31 03:18

    Run this command to easily uncomment the lines extension=pdo_pgsql.so and extension=pgsql.so from php.ini

    sed -ri -e 's!;extension=pdo_pgsql!extension=pdo_pgsql!' $PHP_INI_DIR/php.ini
    
    sed -ri -e 's!;extension=pgsql!extension=pgsql!' $PHP_INI_DIR/php.ini
    

    If you do not have the drivers already installed, or it gives error like unable to load dynamic library PGSQL run this:

    apt-get update && apt-get install -y libpq-dev && docker-php-ext-install pdo pgsql pdo_pgsql
    

    This will install the pgsql and pdo_pgsql drivers.

    0 讨论(0)
  • 2020-12-31 03:20

    I had the same problem with Laravel-WAMP-PostgreSql driver not found exception. I even successfully established direct connection to Postgre as you have, but with no luck with the "php artisan migrate" command.

    After long research I found out that there are multiple php.ini files in which "extension=php_pdo_pgsql.dll" and "extension=php_pgsql.dll" are comented out.

    The solution is (of course) to uncoment the extensions in the following files:

    • ~/wamp/bin/php/php5.5.*/php.ini
    • ~/wamp/bin/php/php5.5.*/phpForApache
    • ~/wamp/bin/php/php5.5.*/php.ini.install
    • ~/wamp/bin/php/php5.5.*/php.ini-development
    • ~/wamp/bin/php/php5.5.*/php.ini-production and
    • ~/wamp/bin/apache/apache2.4.9/php.ini

    ** You can leave off the "php.ini-development" and "php.ini-production" (don't need to uncoment these files).

    0 讨论(0)
  • 2020-12-31 03:20

    you gotta modify .env file , then go to config>database.php and change the default to pgsql, and also in all your models file you need to change $protected $connection= 'pgsql'.

    0 讨论(0)
  • 2020-12-31 03:21

    As you said you already choosed Default Database as Postgres SQL

    'default' => 'pgsql',
    

    It is a must that you need to uncomment the pdo and postgres shared object in your php configuration settings (php.ini)

    i.e., You need to uncomment the following lines in your php.ini

    extension=pdo_pgsql.so
    extension=pgsql.so
    

    Note :

    Don't forget to stop and start your apache after doing this changes (or php-fpm if using that instead).

    0 讨论(0)
  • 2020-12-31 03:22

    I'm using PHP7.3 and this worked for me, I forgot this:

    apt-get install php7.3-pgsql
    

    Everything runs smoothly afterwards. Just use whatever version of PHP you are using.

    0 讨论(0)
  • 2020-12-31 03:23

    Like @jeff said, this is probably caused by not setting DB_CONNECTION=pgsql in the .env-file. The .env-file has MySQL preconfigured, so you must edit this file.

    0 讨论(0)
提交回复
热议问题