Linux php pgsql so

pgsql.so is not loaded in PHP

I’ve been tasked to create a PHP app which accesses an existing PostgreSQL database. This is my first time working with Postgre, not to mention the PHP has already been installed in the Linux box on which the app is supposed to run. I have no experience setting up this stuff, I just code. My question is that I can’t seem to get the Postgre extension working in PHP. I checked the php.ini file, there were no «extension=. » lines. So I added «extension=pgsql.so». I then checked the «extension_dir» and found that there were only 2 files in there (ldap.so, phpcups.so), I added a pgsql.so file taken from another Linux box. I restarted httpd. And it does not work. I couldn’t find any «pgsql» or «postgre» in phpinfo(). Forgive my noobness. I know too little Linux. I would really appreciate it if you can point me to the right direction. I used the suggestion given by number5: Dude, I’m on RedHat. I used the «yum» version of the command you gave, and I got this: [root@perseus ~]# yum install php-pgsql Loading «installonlyn» plugin Setting up Install Process Setting up repositories Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=extras error was [Errno 4] IOError: Error: Cannot find a valid baseurl for repo: extras UNFORTUNATELY, the Linux server I’m using is NOT connected to the Internet. Any other way to install?

hope you already solved your problem. If not, you can download the required rpms and install using rpm command. wget mirrors.gigenet.com/centos/5.4/os/x86_64/CentOS/… wget mirrors.gigenet.com/centos/5.4/os/x86_64/CentOS/… rpm -ivh *.rpm if it tells you that some deps are missing, you can find it here mirrors.gigenet.com/centos/5.4/os/x86_64/CentOS the download link is assuming that your CentOS is 5.4 x86_64

Читайте также:  Создать рекурсивно директории linux

Источник

Как включить php для работы с postgresql?

Используйте следующий код для подключения к серверу базы данных postgresql:

pg_connect("host=localhost dbname=dbname user=username password=password") or die("Can't connect to database".pg_last_error()); 

Я все еще вижу PHP Fatal error: Call to undefined function pg_connect() , хотя я знаю, что я ее раскомментировал. Идеи?

Вам нужно установить модуль pgsql для php. В debian/ubuntu есть что-то вроде этого:

sudo apt-get install php5-pgsql 

Или, если пакет установлен, вам нужно включить модуль в php.ini

extension=php_pgsql.dll (windows) extension=php_pgsql.so (linux) 

попробуйте сначала включить модуль, отредактировав php.ini и выполнив поиск php_pgsql, и удалите; в начале строки. Тогда вам нужно перезагрузить свой сервис.

Запуск php 7.0 — мне пришлось добавить «extension = pgsql.so» в «php.ini» = «успешно открыть базу данных» = 🙂

Я установил PHP на Windows IIS с помощью Windows Platform Installer (WPΙ). WPΙ создает инструмент «Менеджер PHP» в консоли «Менеджер информационных служб IIS». Я настраиваю PHP с помощью этого инструмента.

PDO и все основные драйверы поставляются с PHP в качестве общих расширений и просто необходимо активировать, отредактировав файл php.ini: расширение = php_pdo.dll

поэтому я активировал расширение с помощью PHP Manager, и теперь PDO отлично работает

PHP-менеджер просто добавил следующие две строки в моем php.ini, вы можете добавить строки вручную. Конечно, вы должны перезапустить веб-сервер.

[PHP_PDO_PGSQL]
расширение = php_pdo_pgsql.dll

Я установил PHP через WPI, и мне было достаточно добавить extension = php_pgsql.dll в C: \ Program Files \ PHP \ v7.1 \ php.ini в конце раздела [ExtensionList]

просто установите драйвер базы данных:

apt-get install php5-pgsql php5-mysql php5-sqlite. и так далее.

И перезагрузите конфигурацию PHP (перезагрузите apache / nginx и т. Д.) После установки новых расширений

Включить PHP для работы с PostgreSQL в Apache

В Apache я редактирую следующий файл конфигурации: C:\xampp\php.ini

Я проверяю следующие строки без комментариев:

extension=php_pgsql.dll extension=php_pdo_pgsql.dll 

Наконец, перезапустите Apache, прежде чем пытаться установить новое соединение с ядром базы данных.

Читайте также:  Linux finding file names

Кроме того, я оставляю свой код, который гарантирует, что соединение уникально:

private static $pdo = null; public static function provideDataBaseInstance() < if (self::$pdo == null) < $dsn = "pgsql:host=" . HOST . ";port=5432;dbname=" . DATABASE . ";user=" . POSTGRESQL_USER . ";password=" . POSTGRESQL_PASSWORD; try < self::$pdo = new PDO($dsn); >catch (PDOException $exception) < $msg = $exception->getMessage(); echo $msg . ". Do not forget to enable in the web server the database manager for php and in the database instance authorize the ip of the server instance if they not in the same instance."; > > return self::$pdo; > 

Источник

How To Install php-pgsql on CentOS 7

In this tutorial we learn how to install php-pgsql on CentOS 7.

What is php-pgsql

The php-pgsql add PostgreSQL database support to PHP. PostgreSQL is an object-relational database management system that supports almost all SQL constructs. PHP is an HTML-embedded scripting language. If you need back-end support for PostgreSQL, you should install this package in addition to the main php package.

We can use yum or dnf to install php-pgsql on CentOS 7. In this tutorial we discuss both methods but you only need to choose one of method to install php-pgsql.

Install php-pgsql on CentOS 7 Using yum

Update yum database with yum using the following command.

After updating yum database, We can install php-pgsql using yum by running the following command:

sudo yum -y install php-pgsql 

Install php-pgsql on CentOS 7 Using dnf

If you don’t have dnf installed you can install dnf first. Update yum database with dnf using the following command.

After updating yum database, We can install php-pgsql using dnf by running the following command:

sudo dnf -y install php-pgsql 

How To Uninstall php-pgsql on CentOS 7

To uninstall only the php-pgsql package we can use the following command:

php-pgsql Package Contents on CentOS 7

/etc/php.d/pdo_pgsql.ini /etc/php.d/pgsql.ini /usr/lib64/php/modules/pdo_pgsql.so /usr/lib64/php/modules/pgsql.so 

References

Summary

In this tutorial we learn how to install php-pgsql on CentOS 7 using yum and dnf.

Источник

how to enable php pdo driver for Postgres on Ubuntu 18.04

I installed php 7.2 and php 7.3 on Ubuntu 18.04, and created a php file to log on to and insert data into the Postgres database. My script responded «could not find driver.» Research turned up that I have to edit the php.ini files and enable the extensions for Postgres and PDO. Below are all the extension= lines in the php.ini files. The closest I could find are the pdo lines shown below.

extension=pdo_pgsql extension=pgsql 

So I edited the php.ini files and removed the semi-colons from each of those lines to enable them. Then I restarted Apache2:

sudo systemctl restart apache2 

But I still get «could not find driver.» This is the entire listing of extensions from the php.ini files. Which other extensions do I need to enable to allow PDO access to Postgres? php.ini 7.3

;extension=bz2 ;extension=curl ;extension=fileinfo ;extension=gd2 ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=interbase ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc extension=pdo_pgsql ;extension=pdo_sqlite extension=pgsql ;extension=shmop 
;extension=bz2 ;extension=curl ;extension=fileinfo ;extension=gd2 ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=interbase ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc extension=pdo_pgsql ;extension=pdo_sqlite extension=pgsql ;extension=shmop 

This is the php logon script (the logon credentials are replaced with dummy values here because I can’t reveal them):

 '[IP Address]', 'user' => '[username]', 'pwd' => '[password]', 'db' => '[dbname]' ]; $dsn = sprintf('pgsql:host=%s;dbname=%s;user=%s;password=%s', $params['host'], $params['db'], $params['user'], $params['pwd']); try < $dsn = sprintf('pgsql:host=%s;dbname=%s;unix_socket=%s', $params['host'], $params['db'], $params['sock']); $opts = [PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION]; $pdo = new PDO($dsn, $params['user'], $params['pwd'], $opts); > catch (PDOException $e) < echo $e->getMessage(); > catch (Throwable $e) < echo $e->getMessage(); > ?> 

Then I edited the two .ini files and added «.so» at the end of each of the two lines and restarted Apache2, but I still get the same error message. Thanks for any ideas.

Читайте также:  Dfu util stm32 linux

Источник

Оцените статью
Adblock
detector