Can't access Admin after update
Can't access Admin after update
I used the add-on for the updater tool and everything seemed to go fine. But now when I try to log into the admin section, after entering my username and password, I get an error screen saying "The requested URL was not found on this server." In the address bar, it's pointing to /admin/1
I would provide the other info needed, live version and such, but as I can't access the admin area, I'm not able to get this information. But I believe the version it updated to is 1.0.8.2
Any ideas as how I can get back into it?
I would provide the other info needed, live version and such, but as I can't access the admin area, I'm not able to get this information. But I believe the version it updated to is 1.0.8.2
Any ideas as how I can get back into it?
- zipurman
- PhoenixCart Developer
- Posts: 473
- Joined: Tue Oct 13, 2020 5:20 pm
- : Buy Me A Beverage
- Has thanked: 84 times
- Been thanked: 147 times
Re: Can't access Admin after update
If you remove the /admin/1 and change to /admin/ does it forward again to /admin/1 ? If so, have a look at your /.htaccess and /admin/.htaccess files to see if there are any redirects in there.
zipurman
aka Preston Lord
-----------
Happy to help where I can
https://phoenixaddons.com
https://www.youtube.com/zipurman/ ** PHOENIX HOW-TO VIDEOS **
aka Preston Lord
-----------
Happy to help where I can
https://phoenixaddons.com
https://www.youtube.com/zipurman/ ** PHOENIX HOW-TO VIDEOS **
Re: Can't access Admin after update
I've tried taking out the 1, and it goes back to asking me to log in. When I log in, it goes right back to the /1
Main htaccess:
Admin htaccess:
Contents of .htpasswd_oscommerce is just the two admins I've added, and the passwords in hex.
Main htaccess:
Code: Select all
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
## EXPIRES CACHING ##
## https://gtmetrix.com/leverage-browser-caching.html ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>
Code: Select all
AuthType Basic
AuthName "OSCOM CE Phoenix Administration Tool"
AuthUserFile /home/allys/public_html/admin/.htpasswd_oscommerce
Require valid-user
- zipurman
- PhoenixCart Developer
- Posts: 473
- Joined: Tue Oct 13, 2020 5:20 pm
- : Buy Me A Beverage
- Has thanked: 84 times
- Been thanked: 147 times
Re: Can't access Admin after update
Also check your admin/includes/configure.php to see what paths are in there.
DO NOT POST any user/pass info in your reply.
DO NOT POST any user/pass info in your reply.
zipurman
aka Preston Lord
-----------
Happy to help where I can
https://phoenixaddons.com
https://www.youtube.com/zipurman/ ** PHOENIX HOW-TO VIDEOS **
aka Preston Lord
-----------
Happy to help where I can
https://phoenixaddons.com
https://www.youtube.com/zipurman/ ** PHOENIX HOW-TO VIDEOS **
Re: Can't access Admin after update
Admin/includes/configure.php
Main includes/configure.php
I'm not seeing where this "1" is coming from.
Code: Select all
<?php
// set the level of error reporting
error_reporting(E_ALL);
const HTTP_SERVER = 'https://allysuniqueworld.com';
const COOKIE_OPTIONS = [
'lifetime' => 0,
'domain' => 'allysuniqueworld.com',
'path' => '/admin',
'samesite' => 'Lax',
'secure' => true,
];
const DIR_WS_ADMIN = '/admin/';
const DIR_FS_DOCUMENT_ROOT = '/home/allys/public_html/';
const DIR_FS_ADMIN = '/home/allys/public_html/admin/';
const DIR_FS_BACKUP = DIR_FS_ADMIN . 'backups/';
const HTTP_CATALOG_SERVER = 'https://allysuniqueworld.com';
const DIR_WS_CATALOG = '/';
const DIR_FS_CATALOG = '/home/allys/public_html/';
date_default_timezone_set('America/New_York');
Code: Select all
<?php
// set the level of error reporting
error_reporting(E_ALL);
const HTTP_SERVER = 'https://allysuniqueworld.com';
const COOKIE_OPTIONS = [
'lifetime' => 0,
'domain' => 'allysuniqueworld.com',
'path' => '/',
'samesite' => 'Lax',
'secure' => true,
];
const DIR_WS_CATALOG = '/';
const DIR_FS_CATALOG = '/home/allys/public_html/';
date_default_timezone_set('America/New_York');
Re: Can't access Admin after update
Contents of .htpasswd_oscommerce is just the two admins I've added, and the passwords in hex.
Error log: (Hopefully this helps)
I haven't altered any files, but as I said, I did use the upgrader.
Here is the hook.php:
Error log: (Hopefully this helps)
Code: Select all
[Tue May 04 13:44:19.355051 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: PHP Notice: Undefined index: db in /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php on line 65
[Tue May 04 13:44:19.355090 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: PHP Fatal error: Uncaught Error: Call to a member function query() on null in /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php:65
[Tue May 04 13:44:19.355096 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: Stack trace:
[Tue May 04 13:44:19.355099 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: #0 /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php(121): hooks->load()
[Tue May 04 13:44:19.355102 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: #1 /home/allys/public_html/includes/application_top.php(32): hooks->register()
[Tue May 04 13:44:19.355106 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: #2 /home/allys/public_html/index.php(13): require('/home/allys/pub...')
[Tue May 04 13:44:19.355109 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: #3 {main}
[Tue May 04 13:44:19.355112 2021] [fcgid:warn] [pid 2243200] [client *.*.*.*:50862] mod_fcgid: stderr: thrown in /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php on line 65
[Tue May 04 13:44:22.122677 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: PHP Notice: Undefined index: db in /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php on line 65
[Tue May 04 13:44:22.122704 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: PHP Fatal error: Uncaught Error: Call to a member function query() on null in /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php:65
[Tue May 04 13:44:22.122708 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: Stack trace:
[Tue May 04 13:44:22.122712 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: #0 /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php(121): hooks->load()
[Tue May 04 13:44:22.122715 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: #1 /home/allys/public_html/admin/includes/application_top.php(33): hooks->register()
[Tue May 04 13:44:22.122719 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: #2 /home/allys/public_html/admin/index.php(13): require('/home/allys/pub...')
[Tue May 04 13:44:22.122722 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: #3 {main}
[Tue May 04 13:44:22.122725 2021] [fcgid:warn] [pid 2243146] [client *.*.*.*:50865] mod_fcgid: stderr: thrown in /home/allys/public_html/includes/system/versioned/1.0.8.1/hooks.php on line 65
Here is the hook.php:
Code: Select all
<?php
/*
$Id$
CE Phoenix, E-Commerce made Easy
https://phoenixcart.org
Copyright (c) 2021 Phoenix Cart
Released under the GNU General Public License
*/
class hooks {
protected $_site;
protected $_hooks = [];
const PREFIX = 'listen_';
protected $prefix_length;
protected $pipelines = [];
protected $page;
protected $hook_directories = [];
public function __construct($site) {
$this->_site = basename($site);
$this->prefix_length = strlen(self::PREFIX);
$this->add_directory(DIR_FS_CATALOG . 'includes/hooks/');
}
public function add_directory($directory) {
$this->hook_directories[] = $directory . $this->_site . '/';
}
protected function sort_hooks() {
foreach ( $this->_hooks as &$actions ) {
foreach ( $actions as &$codes ) {
uksort($codes, 'strnatcmp');
}
}
}
protected function build_callback($class, $method) {
if ('' === $class) {
return $method;
}
if (isset($_SESSION[$class]) && is_callable([$_SESSION[$class], $method])) {
return [$_SESSION[$class], $method];
}
if (!class_exists($class)) {
return null;
}
if (is_callable([$class, $method])) {
$m = new \ReflectionMethod($class, $method);
if ($m->isStatic()) {
return [$class, $method];
}
}
return [Guarantor::ensure_global($class), $method];
}
protected function load($group) {
$hooks_query = $GLOBALS['db']->query(sprintf(<<<'EOSQL'
SELECT hooks_action, hooks_code, hooks_class, hooks_method
FROM hooks
WHERE hooks_site = '%s' AND hooks_group = '%s'
EOSQL
, $GLOBALS['db']->escape($this->_site), $GLOBALS['db']->escape($group)));
while ($hook = $hooks_query->fetch_assoc()) {
$callback = $this->build_callback($hook['hooks_class'], $hook['hooks_method']);
if (is_callable($callback)) {
Guarantor::guarantee_all(
$this->_hooks,
$this->_site,
$hook['hooks_action']
)[$hook['hooks_code']] = $callback;
}
}
$this->sort_hooks();
}
protected function register_directory($directory, &$files) {
if ( file_exists($directory) && ( $dir = @dir($directory) ) ) {
while ( $file = $dir->read() ) {
if ( !is_dir("$directory/$file") ) {
$files[] = $file;
}
}
$dir->close();
}
}
public function register($group) {
$group = basename($group);
$files = [];
foreach ($this->hook_directories as $directory) {
$this->register_directory("$directory$group", $files);
}
foreach ($files as $file) {
$pathinfo = pathinfo($file);
if ( 'php' === $pathinfo['extension'] ) {
$class = "hook_{$this->_site}_{$group}_{$pathinfo['filename']}";
foreach ( get_class_methods(Guarantor::ensure_global($class)) as $method ) {
if ( substr($method, 0, $this->prefix_length) === self::PREFIX ) {
$action = substr($method, $this->prefix_length);
Guarantor::guarantee_all($this->_hooks, $this->_site, $action
)[$pathinfo['filename']] = [$GLOBALS[$class], $method];
}
}
}
}
$this->load($group);
}
public function register_page() {
$this->page = pathinfo($GLOBALS['PHP_SELF'], PATHINFO_FILENAME);
$this->register($this->page);
$this->register_pipeline('siteWide');
$this->call('siteWide', 'injectAppTop');
}
public function register_pipeline($pipeline, &$parameters = null) {
$this->register($pipeline);
$this->call($this->page, "{$pipeline}Start", $parameters);
}
public function set($action, $code, $callable) {
$hooks =& Guarantor::guarantee_all($this->_hooks, $this->_site, $action);
$hooks[$code] = $callable;
uksort($hooks, 'strnatcmp');
}
public function call($group, $action, $parameters = []) {
return $this->cat($action, $parameters);
}
public function cat($action, $parameters = []) {
$result = '';
foreach ( @(array)$this->_hooks[$this->_site][$action] as $callback ) {
$result .= call_user_func($callback, $parameters);
}
if ( $result ) {
return $result;
}
}
public function generate($action, $parameters = []) {
foreach ( @(array)$this->_hooks[$this->_site][$action] as $callback ) {
yield call_user_func($callback, $parameters);
}
}
public function chain($action, $parameters = []) {
foreach ( @(array)$this->_hooks[$this->_site][$action] as $callback ) {
$parameters = call_user_func($callback, $parameters);
}
return $parameters;
}
public function get_hook_directories() {
return $this->hook_directories;
}
}
-
- Lead Developer
- Posts: 2656
- Joined: Tue Nov 05, 2019 6:02 pm
- Has thanked: 4 times
- Been thanked: 182 times
Re: Can't access Admin after update
This suggests that a change was made without a corresponding change. Does the updater support rolling back to the last good version? And then try to go forward again. An alternative would be to copy up the files from the update.
Note that the missing change occurred in the 1.0.8.0 to 1.0.8.1 update and was a modification of an existing file. The change that occurred was a new file.
- zipurman
- PhoenixCart Developer
- Posts: 473
- Joined: Tue Oct 13, 2020 5:20 pm
- : Buy Me A Beverage
- Has thanked: 84 times
- Been thanked: 147 times
Re: Can't access Admin after update
No, the updater does not support this functionality. It could do a backup every time, but if you are upgrading several versions, it could get complicated if things any errors etc.Does the updater support rolling back
You could manually copy the files from the update to see if that fixes anything. @jimpike let me know if you'd like me to have a closer look. You can PM me the details.
zipurman
aka Preston Lord
-----------
Happy to help where I can
https://phoenixaddons.com
https://www.youtube.com/zipurman/ ** PHOENIX HOW-TO VIDEOS **
aka Preston Lord
-----------
Happy to help where I can
https://phoenixaddons.com
https://www.youtube.com/zipurman/ ** PHOENIX HOW-TO VIDEOS **
Re: Can't access Admin after update
Well, I tried uploading the files right from the upgrader folder, from the latest 1.0.8.2 and it still does it.
[edit] So looking more at it, I noticed I was using the wrong admin username (I manage many different sites). Once I put the right username in, I got into the admin area. So it's apparently something wrong with the error page for wrong username.
[edit] So looking more at it, I noticed I was using the wrong admin username (I manage many different sites). Once I put the right username in, I got into the admin area. So it's apparently something wrong with the error page for wrong username.