I tried to compile a LAMP system, but I'm having troubles in making MySQL and Apache+PHP to communicate: I've compiled apache-2.2.0, and, as the title says, mysql-5.0.18 and php-5.1.2. The ./configure options I passed when building mysql-5.0.18 are:

export CFLAGS="-O2 -march=i486 -mtune=i686"
export CXXFLAGS="-O2 -march=i486 -mtune=i686"
./configure \
--prefix=/usr \
--localstatedir=/var/lib/mysql \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--without-debug \
--with-openssl=/usr \
--with-extra-charsets=all \
--with-unix-socket-path=/var/run/mysql/mysql.sock \
--with-big-tables \
--without-bench \
--program-prefix="" \

The ./configure options I passed to PHP are:

export CFLAGS="-O2 -march=i486 -mtune=i686"
export CXXFLAGS="-O2 -march=i486 -mtune=i686"
./configure \
--prefix=/usr \
--with-apxs2=/usr/sbin/apxs \
--enable-force-cgi-redirect \
--enable-discard-path \
--enable-fastcgi \
--with-config-file-path=/etc/apache \
--enable-safe-mode \
--with-openssl=/usr \
--with-zlib=/usr \
--with-zlib-dir=/usr \
--enable-bcmath \
--with-bz2=/usr \
--enable-calendar \
--with-curl=/usr \
--with-curlwrappers \
--enable-dba \
--with-gdbm=/usr \
--with-db4=/usr \
--with-inifile \
--with-flatfile \
--enable-dbase \
--with-libxml-dir=/usr \
--enable-exif \
--enable-filepro \
--enable-ftp \
--with-openssl-dir=/usr \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-t1lib=/usr \
--enable-mbstring \
--with-libmbfl \
--with-mhash=/usr \
--with-mysql=shared,/usr \
--with-zlib-dir=/usr \
--enable-embedded-mysqli \
--with-ncurses=/usr \
--enable-shmop \
--with-libxml-dir=/usr \
--enable-soap \
--with-libxml-dir=/usr \
--enable-sockets \
--enable-sqlite-utf8 \
--with-regex=php \
--enable-sysvmsg \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir=/usr \
--with-pear \
--with-zend-vm=CALL \
--with-tsrm-pthreads \
--enable-shared \
--enable-static \
--program-prefix="" \

After the compilation and installation of the 2 packages, I added to the php.ini file the line "extension=mysql.so" and added the php module to the LoadModule section of the httpd.conf file. I logged as root to the mysql user and created the database cluster with mysql_install_db . Then I started the httpd and mysql servers. As the user mysql, I logged to the mysql server database with "mysql --user=root mysql" and I created a user with "GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mypass' WITH GRANT OPTION;". I put in the apache DocumentRoot the test.php file containing the following php directives:

// connect to the database; otherwise exit and return an error
mysql_connect('','myuser','mypass') or die(mysql_error());

When I connect to the localhost, I got the message "Lost connection to MySQL server during query". If I substitute 'localhost' to '' in the mysql_connect call, I get the following output: "Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (13)", but the file /var/run/mysql/mysql.sock exists! Did I miss something that needed to be done to make mysql and php to communicate?
Thank you very much in advance.

Best regards,


PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to