Link to home
Start Free TrialLog in
Avatar of enigma1234567890
enigma1234567890Flag for Ireland

asked on

PHP mysql support

How do I confirm if PHP was compiled with mysql support.  Version 5 of php
Avatar of Beverley Portlock
Beverley Portlock
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Just add this line to a php file and view it in a browser, then search for mysql

Might be worth adding that since PHP5, MySQL is supplied as an external module enabled in the php.ini EXTENSIONS section.
Avatar of enigma1234567890


so is there a file I can edit in php to enable it or do I have to remove and add the package again
sorry will check the extension section didnt read question fully
this is what is in php .ini

; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in secondes) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off
There are a number of setups for PHP. On Windows versions the mysql and mysqli extensions will be in the EXTENSIONS section of php.ini. This is also true for some linux distros. Other linux distros control the addition and removal of extensions via the repository manager (Ubuntu does this) and the extensions are enabled by writing their configuration files into /etc/php5/conf.d

Inspecting the phpinfo() output will help. Look for a section in the first panel marked Additional .ini files parsed
When looking in PHP.INI look for extension = or extension=
this is what Centos came with how do I enable php and mysql

./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
the extract was from php info
If you are on CentOS it is repository managed (although I use Debian rather than Centos). Try

yum install mysql mysql-server

then check your settings.
its php i have the issue with and if its already installed I surely need to remove first then install and dont want to remove if I can just change a config file
OK - remember that following the instructions below could result in data loss or a stuffed configuration. Make sure you have sufficient backups to recover from anything that goes wrong.

Backup - backup - backup...

1) Try yum install mysql mysql-server and see what happens. What have you got to lose?

2) if (1) didn't work - try yum update php and see if it will sort out PHP for you

3)  if (1) and (2) didn't work -Try the nuclear option....

yum remove php php-cli php-gd php-mcrypt php-curl
yum install php php-cli php-gd php-mcrypt php-curl mysql mysql-server phpmyadmin

tried above didnt work

Now compiling from scratch how do i answer this question
how do i determin  the directory mysql is installed in for the mysql-dir bit

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql-dir=/var/local/mysql