Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Admin Tool - Fatal Error


flashflash

Recommended Posts

I've been trying out numerous things to get the admin tool to work. The catalog pages work OK.

 

I was receiving undefined function tep_get_language errors so I commented them out in the application_top.php page, now I'm getting

 

Fatal error: Call to undefined function: tep_catalog_href_link() in C:\pathto\index.php on line 107

 

I tried many different things for the last few days to get this working but I can't seem to figure out what I'm missing.

 

I am now on PHP4.4, MYSQL4.1 and IIS6. (I tried different versions as some posts indicated PHP5 has some errors).

 

I'm thinking along the lines either PHP or OSCommerce doesn't know where or how to load these functions - I checked and triple checked all configure.php and php.ini files, and I beleive I have them setup correctly; however, I don't see any locations in these files for setting function information.

 

Does someone know how to get this working or where I can configure function information / paths?

Link to comment
Share on other sites

First of all, make sure that there are no configure.php files in the catalog/includes/local/ and the catalog/admin/includes/local/ folders. If you find any just rename them.If your shop front is working alright and it's only the admin that you have a problem with then it's probably a problem with your admin/includes/configure.php file. Post it here without the db user name and password for someone to take a look at it for you.

 

Vger

Link to comment
Share on other sites

Hi Vger,

 

The local folders don't have any configure.php files in them.

 

Here is the configure.php file from the catalog/admin/includes folder:

 

<?php

/*

$Id: configure.php,v 1.14 2003/02/21 16:55:24 dgw_ Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2002 osCommerce

 

Released under the GNU General Public License

*/

 

// define our webserver variables

// FS = Filesystem (physical)

// WS = Webserver (virtual/URL)

define('HTTP_SERVER', 'http://localhost:8080'); // eg, http://localhost or - https://localhost should not be NULL for productive servers

define('HTTP_CATALOG_SERVER', 'localhost');

define('HTTPS_CATALOG_SERVER', 'localhost'); define('ENABLE_SSL_CATALOG', 'false'); // secure webserver for catalog module

 

define('DIR_FS_DOCUMENT_ROOT', 'C:\Inetpub\OSCommerce\'); // where your pages are located on the server. if $DOCUMENT_ROOT doesnt suit you, replace with your local path. (eg, /usr/local/apache/htdocs)

define('DIR_WS_ADMIN', '/catalog/admin/');

define('DIR_FS_ADMIN', DIR_FS_DOCUMENT_ROOT . DIR_WS_ADMIN);

define('DIR_WS_CATALOG', '/catalog/');

define('DIR_FS_CATALOG', DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG);

define('DIR_WS_IMAGES', '/catalog/admin/images/');

define('DIR_WS_ICONS', DIR_WS_IMAGES . 'catalog/admin/images/icons/');

define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . '/catalog/admin/images/');

define('DIR_WS_INCLUDES', '/catalog/admin/includes/');

define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . '/catalog/admin/includes/functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . '/catalog/admin/includes/modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . '/catalog/includes/');

define('DIR_WS_CATALOG_LANGUAGES', DIR_WS_CATALOG . '/catalog/admin/includes/');

define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . '/catalog/admin/includes/');

define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . '/catalog/images/');

define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . '/catalog/includes/modules/');

define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/');

 

// define our database connection

define('DB_SERVER', 'localhost');

define('DB_SERVER_USERNAME', 'xxx');

define('DB_SERVER_PASSWORD', 'xxx');

define('DB_DATABASE', 'xxxx');

define('USE_PCONNECT', 'false');

define('STORE_SESSIONS', '');

?>

 

 

I tried many path variations to see if I can get this to work - but still can't seem to get it to function properly. Any one have any suggestions for me to try?

Link to comment
Share on other sites

I've never run osCommerce on a local Windows server before, let alone as a cgi (which the :8080 indicates is happening). You may have to change all forward slashes to backslashes - which is what they would normally be. I have to assume that the :8080 is correct in which case:

 

define('HTTP_SERVER', 'http://localhost:8080'); // eg, http://localhost - should not be empty for productive servers

define('HTTP_CATALOG_SERVER', 'http://localhost:8080');

define('HTTPS_CATALOG_SERVER', '');

define('ENABLE_SSL_CATALOG', 'false'); // secure webserver for catalog module

define('DIR_FS_DOCUMENT_ROOT', 'C:\Inetpub\OSCommerce\catalog/'); define('DIR_WS_ADMIN', '/catalog/admin/'); // absolute path required

define('DIR_FS_ADMIN', ''C:\Inetpub\OSCommerce\catalog/admin/'); define('DIR_WS_CATALOG', '/catalog/'); // absolute path required

define('DIR_FS_CATALOG', ''C:\Inetpub\OSCommerce\catalog/'); // absolute path required

define('DIR_WS_IMAGES', 'images\');

define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');

define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/');

define('DIR_WS_INCLUDES', 'includes/');

define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

define('DIR_WS_CATALOG_LANGUAGES', DIR_WS_CATALOG . 'includes/languages/');

define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . 'includes/languages/');

define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/');

define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . 'includes/modules/');

define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/');

 

You can see from the above that there are a lot of errors in your file.

 

Personally, I would dump the Windows server and install an all-in-one Apache package on your computer (http://www.apachefriends.org/en)

 

Vger

Link to comment
Share on other sites

Hello Vger,

 

Thanks for your input on the configure.php file. I tried out all different variations of slashes and paths but still get the same error:

 

Fatal error: Call to undefined function: tep_catalog_href_link() in C:\pathto\index.php on line 107

 

The Apache server would be something nice to try out but this system already has IIS running on it with some other sites. It seems a lot of other messages say the same thing when something doesn't work - try Apache. I'd like to get this working in IIS if possible since documentation does say that it does run under it.

 

As for the 8080, another root virtual site is running on port 80 so I set this trial up on 8080. I have tried the admin tool on port 80 as well but receive the same error.

 

I tried some other troubleshooting which raised some questions that may help solve this.

I changed the password for db connectivity in the configure.php file to see what happens - if I change it under catalog/includes the catalog site indicates db connectivity failure - this is the expected behaviour; when I change the password in configure.php for catalog/includes/admin the admin tool still gets the same undefined function error, not the expected db connectivity failure.

This leads me to believe that my setup is not reading the admin/includes/configure.php file at all?

Is there a way I can check to see if admin/index.php or the admin tool in general is actually reading the configure.php file?

Link to comment
Share on other sites

I figured out what the problem was. But, the solution is not really a viable one.

 

What I found was, the configure.php file was always being used from the location \catalog\includes\, the \catalog\admin\includes location file was not even being referenced.

 

I found this out because if I changed the \catalog\includes\configure.php file to incorrect db access information BOTH the admin\index.php AND the catalog\index.php web sites indicated failed db access.

 

I found that if I changed the php.ini file for include_path I could get OSCommerce to reference either the catalog\ or the admin\ locations, but not both at the same time - it just takes the first configure.php file it locates in the reference.

 

eg:

include_path = "c:\Inetpub\OSCommerce\catalog; C:\Inetpub\OSCommerce\catalog\admin"

 

uses the configure.php file in the catalog\includes location

 

to get the admin tool to work I used:

 

include_path = "c:\Inetpub\OSCommerce\catalog\admin"

 

but the problem with this reference is, the catalog no longer works. So in order for me to use the catalog or the admin tool, I have to change the include_path to the respective path applicable.

This really isn't that feasible as a solution obviously.

 

Does anyone know how I can get both of them to work at the same time without having to change this include path all the time?

Link to comment
Share on other sites

Anyone experience this same thing with multiple paths to configuration.php files? Did anyone find a solution or work around for this?

 

 

 

I figured out what the problem was.  But, the solution is not really a viable one.

 

What I found was, the configure.php file was always being used from the location \catalog\includes\, the \catalog\admin\includes location file was not even being referenced. 

 

I found this out because if I changed the \catalog\includes\configure.php file to incorrect db access information BOTH the admin\index.php AND the catalog\index.php web sites indicated failed db access.

 

I found that if I changed the  php.ini file for include_path I could get OSCommerce to reference either the catalog\ or the admin\ locations, but not both at the same time - it just takes the first configure.php file it locates in the reference.

 

eg:

include_path = "c:\Inetpub\OSCommerce\catalog; C:\Inetpub\OSCommerce\catalog\admin"

 

uses the configure.php file in the catalog\includes location

 

to get the admin tool to work I used:

 

include_path = "c:\Inetpub\OSCommerce\catalog\admin"

 

but the problem with this reference is, the catalog no longer works.  So in order for me to use the catalog or the admin tool, I have to change the include_path to the respective path applicable.

This really isn't that feasible as a solution obviously.

 

Does anyone know how I can get both of them to work at the same time without having to change this include path all the time?

Link to comment
Share on other sites

Hello,

 

Anyone out there with a functioning OSCommerce site on IIS, can you please tell me what you have set for

 

'include_path ='

 

in your php.ini file?

 

I can't seem to get the catalog and the admin tool to work at the same time. I have to keep adjusting the include_path to switch between getting the catalog or the admin tool to work.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...