By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,257 Members | 928 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,257 IT Pros & Developers. It's quick & easy.

My AMP application does not know the mysql data files reside on the same linux server

P: n/a
MLH
A programmer developed an AMP (Apache/MySQL/PHP) application
for me. When he was done, he sent me the PHP files and the MySQL
dump file. Now, when I connect to the application on my LAN using
http://192.168.1.106/~mlh/credifree/index.php the AMP app still
thinks the data resides somewhere else. It runs fine - as long as I
leave my LAN's external internet connection up. But if I unplug my
LAN from the world, my app locks up.

Before I even created and installed the mysql database on the linux
server, the application was accessing the data from its remote
location (the same one used during programmer's development).
Installing the data here did not, of course, change that pointer.
I am quite new with AMP and linux. I'm uncertain just how these
items tie together.

How do I tell the PHP files that the data now resides on the same
linux server? And, is that all I have to do - just make configuration
changes in PHP?
Jul 23 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
MLH wrote:
A programmer developed an AMP (Apache/MySQL/PHP) application
for me. When he was done, he sent me the PHP files and the MySQL
dump file. Now, when I connect to the application on my LAN using
http://192.168.1.106/~mlh/credifree/index.php the AMP app still
thinks the data resides somewhere else. It runs fine - as long as I
leave my LAN's external internet connection up. But if I unplug my
LAN from the world, my app locks up.

Before I even created and installed the mysql database on the linux
server, the application was accessing the data from its remote
location (the same one used during programmer's development).
Installing the data here did not, of course, change that pointer.
I am quite new with AMP and linux. I'm uncertain just how these
items tie together.

How do I tell the PHP files that the data now resides on the same
linux server? And, is that all I have to do - just make configuration
changes in PHP?

I just double checked a dump file and it will restore to
whatever directory MySQL is using. As a result I suspect that
your problem is an Apache problem and not a MySQL problem.

When you access your application from the browser are you using:

http://localhost

If so, and you have an out of the box standard install, Apache
should be looking for your programs in /var/www. You can verify
this by running phpinfo.php (http://phpinfo.php) and seeing
what the value is for Document_Root in the Apache Environment
section of the output.

Also check to see if Apache is aware of MySQL by looking further
down in the phpinfo.php output for a section called "mysql".
(In my output it falls between "ctype" and "overload".)

HTH
Jerry

Check the output of phpinfo.php and y
Jul 23 '05 #2

P: n/a
MLH wrote:
A programmer developed an AMP (Apache/MySQL/PHP) application
for me. When he was done, he sent me the PHP files and the MySQL
dump file. Now, when I connect to the application on my LAN using
http://192.168.1.106/~mlh/credifree/index.php the AMP app still
thinks the data resides somewhere else. It runs fine - as long as I
leave my LAN's external internet connection up. But if I unplug my
LAN from the world, my app locks up.


Sounds like the PHP files are specifying the server name where the MySQL
database resides. It should probably specify 'localhost' if PHP and the
database are on the same server.

Typically in the PHP language one uses a function called mysql_connect()
to specify the name of the host, and the MySQL user and password to use
when connecting to the MySQL database (the database name is specified in
a different function call, after the PHP application successfully
connects to the MySQL server).

Look for "mysql_connect" in your PHP files. The first argument to the
function should be the name of the host where the MySQL database lives.
I'm guessing it contains some external Internet site name or IP
address, and you can probably replace that with "localhost":

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

See http://us4.php.net/function.mysql-connect for more reference docs
and examples for this function.

Be sure to search for _all_ places where PHP calls mysql_connect().
There's no guarantee it's used in only one place in the code.

Regards,
Bill K.
Jul 23 '05 #3

P: n/a
MLH
Actually, digging through the many PHP files, I found this one.
Changing the values in it, I am now successfully connecting...
<?
// $connect =
mysql_connect("mysql01.inertiaservers.net","userna me","password");
// mysql_select_db("old_db");

$connect = mysql_connect("localhost","newuser","newpass");
mysql_select_db("new_db");
?>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx

On Wed, 30 Mar 2005 13:16:35 GMT, jerry gitomer <jg******@verizon.net>
wrote:
MLH wrote:
A programmer developed an AMP (Apache/MySQL/PHP) application
for me. When he was done, he sent me the PHP files and the MySQL
dump file. Now, when I connect to the application on my LAN using
http://192.168.1.106/~mlh/credifree/index.php the AMP app still
thinks the data resides somewhere else. It runs fine - as long as I
leave my LAN's external internet connection up. But if I unplug my
LAN from the world, my app locks up.

Before I even created and installed the mysql database on the linux
server, the application was accessing the data from its remote
location (the same one used during programmer's development).
Installing the data here did not, of course, change that pointer.
I am quite new with AMP and linux. I'm uncertain just how these
items tie together.

How do I tell the PHP files that the data now resides on the same
linux server? And, is that all I have to do - just make configuration
changes in PHP?

I just double checked a dump file and it will restore to
whatever directory MySQL is using. As a result I suspect that
your problem is an Apache problem and not a MySQL problem.

When you access your application from the browser are you using:

http://localhost

If so, and you have an out of the box standard install, Apache
should be looking for your programs in /var/www. You can verify
this by running phpinfo.php (http://phpinfo.php) and seeing
what the value is for Document_Root in the Apache Environment
section of the output.

Also check to see if Apache is aware of MySQL by looking further
down in the phpinfo.php output for a section called "mysql".
(In my output it falls between "ctype" and "overload".)

HTH
Jerry

Check the output of phpinfo.php and y


Jul 23 '05 #4

P: n/a
MLH
Bill, you hit it on the nose EXACTLY!
Digging through the many PHP files, I found this one.
Changing the values in it, I am now successfully connecting...

<?
// $connect = mysql_connect("mysql01.inertiaservers.net","old
user","oldpass");
// mysql_select_db("old_db");

$connect = mysql_connect("localhost","newuser","newpass");
mysql_select_db("new_db");
?>

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx

On Wed, 30 Mar 2005 22:13:36 -0800, Bill Karwin <bi**@karwin.com>
wrote:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx
MLH wrote:
A programmer developed an AMP (Apache/MySQL/PHP) application
for me. When he was done, he sent me the PHP files and the MySQL
dump file. Now, when I connect to the application on my LAN using
http://192.168.1.106/~mlh/credifree/index.php the AMP app still
thinks the data resides somewhere else. It runs fine - as long as I
leave my LAN's external internet connection up. But if I unplug my
LAN from the world, my app locks up.


Sounds like the PHP files are specifying the server name where the MySQL
database resides. It should probably specify 'localhost' if PHP and the
database are on the same server.

Typically in the PHP language one uses a function called mysql_connect()
to specify the name of the host, and the MySQL user and password to use
when connecting to the MySQL database (the database name is specified in
a different function call, after the PHP application successfully
connects to the MySQL server).

Look for "mysql_connect" in your PHP files. The first argument to the
function should be the name of the host where the MySQL database lives.
I'm guessing it contains some external Internet site name or IP
address, and you can probably replace that with "localhost":

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

See http://us4.php.net/function.mysql-connect for more reference docs
and examples for this function.

Be sure to search for _all_ places where PHP calls mysql_connect().
There's no guarantee it's used in only one place in the code.

Regards,
Bill K.


Jul 23 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.