无法访问joomla用户对象 [英] Cant access joomla user object

查看:127
本文介绍了无法访问joomla用户对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Windows 8.1 Pro上使用Joomla 3.4.0./ Wampserver 2.4构建了一个小型网站。



现在我已将计算机升级到Windows 10 Pro和Wamp 3.1.7(64位)。我从头开始用最新版本的Joomla 3.9.3重建了这个网站,它的工作正常除了访问用户对象的所有自定义模块。我还没改变任何东西。我收到如下错误:



(!)警告:require_once(C:/wamp64/www\includes\defines.php):无法打开stream:第9行的C:\ wamp64 \ www; \ clib \custom \ CreateNewAcc.php中没有这样的文件或目录

Call Stack

#Time记忆功能位置

1 0.0162 404168 {main}()... \ CreateNewAcc.php:0



(!)致命错误:require_once():在C:\ wamp64 \ www中打开所需的'C:/wamp64/www\includes\defines.php'(include_path ='。; C:\ php \ pear')失败第9行的\\ clib\custom\CreateNewAcc.php

来电堆栈

#时间记忆功能位置

1 0.0162 404168 {main} ()... \ CreateNewAcc.php:0



我的每个自定义代码文件,例如'CreateNewAcc.php'都是这样的:



<?php 
/ ** /
#uncomment in joomla
$ mf1 =;
define('_ JEXEC',1);
define('DS',DIRECTORY_SEPARATOR);
define('JPATH_BASE',$ _SERVER ['DOCUMENT_ROOT']);

require_once(JPATH_BASE。DS。'包括'。DS。'defines.php');
require_once(JPATH_BASE。DS。'包括'。DS。'framework.php');
require_once(JPATH_BASE。DS。'libraries'。DS。'joomla'。DS。'factory.php');
$ mf1 = JFactory :: getApplication('site');


date_default_timezone_set(Asia / Calcutta);
$ user = JFactory :: getUser();

$ uname = $ user-> name;
$ uid = $ user-> id;
$ date = JFactory :: getDate();

?>





我的尝试:



我查看过define.php&的位置CreateNewAcc.php文件,它们没问题。早期的网站位于www文件夹的根目录下,现在它位于www。中的一个名为'elib'的文件夹中。



我试图摆脱通过进行以下更改来反斜杠:



 require_once(JPATH_BASE。'/ clib /'。'包含'。'/'。'定义.php'); 
require_once(JPATH_BASE。'/ clib /'。'包括'。'/'。'framework.php');
require_once(JPATH_BASE。'/ clib /'。'libraries'。'/'。'joomla'。'/'。'factory.php');





现在我遇到了这个错误:

(!)警告:require_once(C:/ wamp64 / www \libraries / import .legacy.php):无法打开流:第15行的C:\ wamp64 \ www \ clib \includes \ framework.php中没有这样的文件或目录


通话栈




时间

内存

功能

位置

1 0.0013 403944 {main}()... \ CreateNewAcc.php:0
2 0.0014 405552 require_once('C:\ wamp64 \\\\\ \\includes\framework.php')... \ CreateNewAcc.php:10



(!)致命错误:require_once():无法打开所需的'C :/wamp64/www \libraries/import.legacy.php'(include_path ='。; C:\ php \ pear')位于C:\ wamp64 \ www \clib \includes \ framework中。第15行的PHP


电话筹码




时间

记忆

功能

位置

1 0.0013 403944 {main}()... \ CreateNewAcc.php:0
2 0.0014 405552 require_once('C:\ wamp64 \\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ = ;
define('_ JEXEC',1);
define('DS',DIRECTORY_SEPARATOR);
define('JPATH_BASE',


_SERVER ['DOCUMENT_ROOT']);

require_once(JPATH_BASE。DS。'包括'。DS。'defines.php');
require_once(JPATH_BASE。DS。'包括'。DS。'framework.php');
require_once(JPATH_BASE。DS。'libraries'。DS。'joomla'。DS。'factory.php');


mf1 = JFactory :: getApplication('site' );


date_default_timezone_set(Asia / Calcutta);


I built a small website using Joomla 3.4.0./ Wampserver 2.4 on Windows 8.1 Pro.

Now I've upgraded the computer to Windows 10 Pro and Wamp 3.1.7 (64 bit). I've rebuilt the website with latest version of Joomla 3.9.3 from scratch, and its working fine EXCEPT all those custom modules which access the user object. I havent changed anything yet. I'm getting error as below:

( ! ) Warning: require_once(C:/wamp64/www\includes\defines.php): failed to open stream: No such file or directory in C:\wamp64\www\clib\custom\CreateNewAcc.php on line 9
Call Stack
# Time Memory Function Location
1 0.0162 404168 {main}( ) ...\CreateNewAcc.php:0

( ! ) Fatal error: require_once(): Failed opening required 'C:/wamp64/www\includes\defines.php' (include_path='.;C:\php\pear') in C:\wamp64\www\clib\custom\CreateNewAcc.php on line 9
Call Stack
# Time Memory Function Location
1 0.0162 404168 {main}( ) ...\CreateNewAcc.php:0

Each of my custom code files such as 'CreateNewAcc.php' begin like this:

<?php
/**/
#uncomment in joomla
$mf1="";
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] );

require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );
$mf1 = JFactory::getApplication('site');


date_default_timezone_set("Asia/Calcutta");
$user = JFactory::getUser();

$uname=$user->name;
$uid=$user->id;
$date= JFactory::getDate();

?>



What I have tried:

I've checked the location of defines.php & CreateNewAcc.php files, they're ok. Earlier site was in the root of www folder, now its in a folder of its own named 'elib' within www.

I've tried to get rid of the back-slashes by making following changes:

require_once( JPATH_BASE . '/clib/' . 'includes' . '/' . 'defines.php' );
require_once( JPATH_BASE . '/clib/' . 'includes' . '/' . 'framework.php' );
require_once( JPATH_BASE . '/clib/' . 'libraries' . '/' . 'joomla' . '/' . 'factory.php' );



Now I'm having this error:

( ! ) Warning: require_once(C:/wamp64/www\libraries/import.legacy.php): failed to open stream: No such file or directory in C:\wamp64\www\clib\includes\framework.php on line 15


Call Stack


#

Time

Memory

Function

Location

1 0.0013 403944 {main}( ) ...\CreateNewAcc.php:0 
2 0.0014 405552 require_once( 'C:\wamp64\www\clib\includes\framework.php' ) ...\CreateNewAcc.php:10 
 


( ! ) Fatal error: require_once(): Failed opening required 'C:/wamp64/www\libraries/import.legacy.php' (include_path='.;C:\php\pear') in C:\wamp64\www\clib\includes\framework.php on line 15


Call Stack


#

Time

Memory

Function

Location

1 0.0013 403944 {main}( ) ...\CreateNewAcc.php:0 
2 0.0014 405552 require_once( 'C:\wamp64\www\clib\includes\framework.php' ) ...\CreateNewAcc.php:10 

解决方案

mf1=""; define( '_JEXEC', 1 ); define( 'DS', DIRECTORY_SEPARATOR ); define( 'JPATH_BASE',


_SERVER[ 'DOCUMENT_ROOT' ] ); require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' ); require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' ); require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );


mf1 = JFactory::getApplication('site'); date_default_timezone_set("Asia/Calcutta");


这篇关于无法访问joomla用户对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆