Jump to content

Archived

This topic is now archived and is closed to further replies.

tkeats

help: osc 2.3.3

Recommended Posts

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /www/website/htdocs/catalog/storeadmin/includes/functions/database.php:19 Stack trace: #0 /www/website/htdocs/catalog/storeadmin/includes/application_top.php(61): tep_db_connect() #1 /www/website/htdocs/catalog/storeadmin/login.php(15): require('/homepages/22/d...') #2 {main} thrown in/www/website/htdocs/catalog/storeadmin/includes/functions/database.php on line 19 

 

 

I had an issue with my hosting provider recently, long story short, account deleted, restored, had to re-setup a wack of stuff, and everything is there as it used to be.

 

Now, I see I'm looking 'forward' to upgrading from php 5.2 which I'm still running on to something more current.  Putting that aside for now, I managed to get php 5.2 functionality back, but I'm having a problem with the above errors.

 

I get the main index.php to load, but whenever I click on something ELSE.  Such as product_info.php or try to access my store admin directory, I get the above.

 

Any guidance on how to fix?

 

Or am I better off just rebuilding from scratch.  I can't even recall some of the addon's that I've installed and really don't want to rush into doing that suddenly.

 

Note:  I am on 1and1 hosting, and should be oscommerce 2.3.3.

 


A signature is something that reflects its user. - The dictionary

 

The question is not, 'to code, or not to code'

the question is, 'if we do not code, are we really alive?'

-- anonymous

Share this post


Link to post
Share on other sites

It sounds like your host built their PHP installation without MySQL, or at least, without the mysql library. Did they install the mysqli library? It's unusual to have mysqli and not mysql, but possible I suppose. Anyway, run the following PHP script:

<?php phpinfo(); ?>

and see if it tells you that mysql and/or mysqli are installed and enabled. If neither is, your host screwed up big time.

 

Recent versions of osC preferentially use mysqli, so upgrading to the current osC might be a good choice. It's osC 2.3.4 BS Edge, and it supports up to PHP 5.6 out of the box (and 7.0 with some minor edits). Your current 2.3.3 is quite old now, and may not survive much longer anyway. Your data (including the database) can be migrated to the new version. This is a fresh installation, not an upgrade, so you'll have to look for and install the necessary add-ons. Perhaps this will be a good reminder to keep detailed records of all changes you make to an osC installation, including why you used an add-on or made a custom code edit.

 

Anyway, you should at least start playing with a test installation of 2.3.4 BS Edge, to see what's involved with switching over and getting up to date.

Share this post


Link to post
Share on other sites

It sounds like your host built their PHP installation without MySQL, or at least, without the mysql library. Did they install the mysqli library? It's unusual to have mysqli and not mysql, but possible I suppose. Anyway, run the following PHP script:

<?php phpinfo(); ?>

and see if it tells you that mysql and/or mysqli are installed and enabled. If neither is, your host screwed up big time.

 

Recent versions of osC preferentially use mysqli, so upgrading to the current osC might be a good choice. It's osC 2.3.4 BS Edge, and it supports up to PHP 5.6 out of the box (and 7.0 with some minor edits). Your current 2.3.3 is quite old now, and may not survive much longer anyway. Your data (including the database) can be migrated to the new version. This is a fresh installation, not an upgrade, so you'll have to look for and install the necessary add-ons. Perhaps this will be a good reminder to keep detailed records of all changes you make to an osC installation, including why you used an add-on or made a custom code edit.

 

Anyway, you should at least start playing with a test installation of 2.3.4 BS Edge, to see what's involved with switching over and getting up to date.

Will do, will check that out over the weekend.  

 

Thanks for the insite, and yes, I checked the package and it is indeed 2.3.3.0 as far as I can tell and it was installed like 4 years ago, so way back...  LOL.


A signature is something that reflects its user. - The dictionary

 

The question is not, 'to code, or not to code'

the question is, 'if we do not code, are we really alive?'

-- anonymous

Share this post


Link to post
Share on other sites

It sounds like your host built their PHP installation without MySQL, or at least, without the mysql library. Did they install the mysqli library? It's unusual to have mysqli and not mysql, but possible I suppose. Anyway, run the following PHP script:

<?php phpinfo(); ?>

and see if it tells you that mysql and/or mysqli are installed and enabled. If neither is, your host screwed up big time.

 

Recent versions of osC preferentially use mysqli, so upgrading to the current osC might be a good choice. It's osC 2.3.4 BS Edge, and it supports up to PHP 5.6 out of the box (and 7.0 with some minor edits). Your current 2.3.3 is quite old now, and may not survive much longer anyway. Your data (including the database) can be migrated to the new version. This is a fresh installation, not an upgrade, so you'll have to look for and install the necessary add-ons. Perhaps this will be a good reminder to keep detailed records of all changes you make to an osC installation, including why you used an add-on or made a custom code edit.

 

Anyway, you should at least start playing with a test installation of 2.3.4 BS Edge, to see what's involved with switching over and getting up to date.

 

 

 

Okay, so I got the phpinfo settings...

 

 

 

MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version mysqlnd 5.0.11-dev - 20120503 - $Id: 15d5c781cfcad91193dceae1d2cdd127674ddb3e $

Directive Local Value Master Value mysql.allow_local_infile On On mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket /tmp/mysqld.sock /tmp/mysqld.sock mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off

mysqli MysqlI Support enabled Client API library version mysqlnd 5.0.11-dev - 20120503 - $Id: 15d5c781cfcad91193dceae1d2cdd127674ddb3e $ Active Persistent Links 0 Inactive Persistent Links 0 Active Links 0

Directive Local Value Master Value mysqli.allow_local_infile On On mysqli.allow_persistent On On mysqli.default_host no value no value mysqli.default_port 3306 3306 mysqli.default_pw no value no value mysqli.default_socket /tmp/mysqld.sock /tmp/mysqld.sock mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.max_persistent Unlimited Unlimited mysqli.reconnect Off Off

mysqlnd mysqlnd enabled Version mysqlnd 5.0.11-dev - 20120503 - $Id: 15d5c781cfcad91193dceae1d2cdd127674ddb3e $ Compression supported core SSL supported extended SSL supported Command buffer size 4096 Read buffer size 32768 Read timeout 31536000 Collecting statistics Yes Collecting memory statistics No Tracing n/a Loaded plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password API Extensions pdo_mysql,mysqli,mysql

 

... So it appears to be there...

 

It was compiled with ...

 

 

 

'./configure' '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' '--program-suffix=5.5' '--libdir=/usr/lib/php5.5' '--with-config-file-path=/usr/lib/php5.5' '--with-pear=/usr/lib/php5.5' '--bindir=/usr/bin' '--includedir=/usr/include' '--with-zlib' '--enable-debug=no' '--enable-safe-mode=no' '--enable-discard-path=no' '--with-gd' '--with-png-dir' '--enable-track-vars' '--with-db' '--with-gdbm' '--enable-force-cgi-redirect' '--with-ttf' '--enable-ftp' '--with-mcrypt' '--enable-memory-limit' '--enable-calendar' '--enable-wddx' '--enable-bcmath' '--enable-gd-imgstrttf' '--enable-shmop' '--with-openssl' '--with-dom' '--with-dom-xslt' '--with-dom-exslt' '--with-imap' '--with-curl' '--with-iconv' '--with-freetype-dir' '--with-bz2' '--with-gettext' '--enable-exif' '--enable-mbstring=all' '--with-kerberos' '--with-sqlite' '--with-imap-ssl' '--with-libxml-dir' '--with-xsl' '--with-xslt-sablot' '--with-jpeg-dir' '--with-tidy' '--enable-soap' '--enable-xslt' '--enable-sqlite-utf8' '--enable-zip' '--enable-intl' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-mysql=mysqlnd' '--enable-opcache'

A signature is something that reflects its user. - The dictionary

 

The question is not, 'to code, or not to code'

the question is, 'if we do not code, are we really alive?'

-- anonymous

Share this post


Link to post
Share on other sites

Please use the "code" tag so lines aren't run together like that.

 

I see a lot of mysql.* stuff with no settings. Perhaps mysql_* is not enabled, while mysqli_* is? How do you know how PHP was built -- are you acting as your own host?

 

If mysqli is there but mysql isn't, you'll have to either enable mysql, or move up to a current osC level which uses mysqli.

Share this post


Link to post
Share on other sites

×