mehrwert / typo3-phpmyadmin Goto Github PK
View Code? Open in Web Editor NEWTYPO3 extension for BE-integrated phpMyAdmin
TYPO3 extension for BE-integrated phpMyAdmin
Recently I'm getting this exception when trying to log into the backend, or after installing the extension and trying to open the backend module:
PHP Warning: session_start(): open(/var/lib/php/sessions/sess_invnaofdj1j5smisqck6t39icf, O_RDWR) failed: No such file or directory (2) in [...]/typo3conf/ext/phpmyadmin/Classes/Backend/PmaModule.php line 135
(Real paths modified)
Tried to re-install (complete removal) but no avail...
The extension tries to load Javascript files from the vendor directory in EXT:phpmyadmin/Vendor/phpMyAdmin-4.8.5-all-languages/js/vendor
. The default .htaccess
definition of TYPO3 denies access to directories named vendor
:
https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-htaccess#L289
Could the directory EXT:phpmyadmin/Vendor/phpMyAdmin-4.8.5-all-languages/js/vendor
be moved to EXT:phpmyadmin/Resources/Public/JavaScript/
?
When running composer update
there is an output saying:
TYPO3 Extension Package "mehrwert/phpmyadmin", does not define extension key in composer.json.
Specifying the extension key will be mandatory in future versions of TYPO3 (see: https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ExtensionArchitecture/ComposerJson/Index.html#extra)
Thank you for maintaining this extension.
As far as I tested, phpMyAdmin is compatible with PHP7.2.
If you agree, pls. adjust the php dependencies in ext_emconf.php.
Users who running TYPO3 8 with PHP7.2 are not getting the extension updates via TER.
TYPO3 dependencies may need to be adjusted as well as this extension seems to be compatible with TYPO3 9.
Hello,
can it be that the EXT:phpmyadmin 6.0.1 is not yet compatible with TYPO3 11 LTS and mysql 8.0?
I get the following error after database update in BE:
PHP Warning: Undefined array key "extConf" in /html/epochenapoleon/public/typo3conf/ext/phpmyadmin/ext_tables.php line 22
Unfortunately, I can't perform a DB update in the install tool either. The instance is a composer based installation.
Do you guys have any idea what I need to do here?
Hi,
There's some deprecations which should be treated. I didn't check all code but it should be done. Running a rector should also be a good start :)
Here's what I noticed:
Hello,
could you update these extension please? Thank you very much.
Best Regards
Michael
Our customer found out, after logging out from TYPO3 frontend, two Cookies are set.
After searching inside the code, I recognized the hook, deleting the PhpMyAdmin cookie starts a new session and sends out the PHPSESSION and PhpMyAdmin cookie to the browser.
The class BeUserAuthLogOffHook should recognize, if the logout was sent from frontend or backend and should ignore logouts from frontend, because the hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_post_processing'] is called both in frointend and backend inside the AbstractUserAuthentication working with frontend and backend logins.
Since TYPO3 doesn't send cookies from v7 up, if they are not necessary, it would be fine, if other extensions do the same.
Whenever I call phpMyAdmin from within T3 the second time I get the error:
Error
Unable to determine TYPO3_MODE.
This is regardless if I do a logout before or not (which in most cases I do following a timed out session)
When I manually delete the phpMyAdmin cookies the system can be called without any issue.
T3: 7.6.2
pMA: 5.1.4
i am using version 5.5.0 i am getting PHP Deprecated error like:
PHP Deprecated: The vendor name from tx_Phpmyadmin must begin with a capital letter. in /html/typo3/typo3_src-9.5.13/typo3/sysext/extbase/Classes/Utility/ExtensionUtility.php on line 233
Namespace must start like this (Vendor name start with Capital letter):
so, instead of writing namespace mehrwert\Phpmyadmin\Controller;
Please Write namespace Mehrwert\Phpmyadmin\Controller;
It would be really cool to have this extension compatible with TYPO3 v11
I get the following entries in the depreciation log about every 5 minutes.
Seems to be an issue.
I have no glue where this comes from.
07-04-17 21:54: Registered "tools_txphpmyadmin" as a script-based module. Script-based modules are deprecated since TYPO3 CMS 7. Support will be removed with TYPO3 CMS 8, use the "routeTarget" option or dispatched modules instead. 07-04-17 21:54: TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath() - since TYPO3 CMS 7, will be removed in TYPO3 CMS 8, use routeTarget or dispatched modules instead. - call_user_func#21 // {closure}# // TYPO3\CMS\Backend\Http\Application->run#20 // TYPO3\CMS\Core\Core\Bootstrap->handleRequest#94 // TYPO3\CMS\Backend\Http\BackendModuleRequestHandler->handleRequest#302 // TYPO3\CMS\Backend\Http\BackendModuleRequestHandler->boot#78 // TYPO3\CMS\Core\Core\Bootstrap->loadExtensionTables#122 // TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadExtTables#974 // TYPO3\CMS\Core\Cache\Frontend\PhpFrontend->requireOnce#1876 // TYPO3\CMS\Core\Cache\Backend\SimpleFileBackend->requireOnce#77 // require_once(typo3temp/Cache/Code/cache_core/ext_tables_d9b8e39b9bd0b2cee68920f678d4001ef82f0292.php),typo3_src-7.6.16/typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php#382 // TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule#3407 // TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath#950 // TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedFunction#1006 (typo3_src-7.6.16/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php#1004) 07-04-17 21:54: TYPO3\CMS\Backend\Sprite\SpriteManager is deprecated since TYPO3 CMS 7, will be removed with TYPO3 CMS 8
If I can be of some help please let me know.
t3phpmyadmin: 5.1.9
T3: 7.6.16
PHP: 5.6
Debian 7
Thank you for this extension. Connection to databases using unix_socket fails.
The test for connection is on $GLOBALS['TYPO3_CONF_VARS']['DB']['socket'] but it should be on $dbData['unix_socket'] , i.e. $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['unix_socket'].
// If a socket connection is configured, use this for mysqli
if (isset($dbData['unix_socket'])) {
$_SESSION['PMA_typo3_socket'] = $dbData['unix_socket'];
}
Since TYPO3 9.0 the concept of system maintainers is implemented in the Core: https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.0/Feature-82266-BackendUsersSystemMaintainers.html
Would be great to have a setting, to only show (and allow access to) the phpMyAdmin-Backend-Module, if the logged in backend user is a system maintainer.
The resolved path in autoload adds ../ and does not resolve properly.
It would be great if this extension would be compatible with TYPO3 8.
I just did composer update
on my TYPO3 installation, updating it from v9.5.13
to v9.5.14
.
During this process, mehrwert/phpmyadmin
got updated from 5.4.0
to 5.6.1
.
Since then, trying to log in to the TYPO3 backend gives an Oops, an error occurred! web interface response.
The TYPO3 log gives further information:
Fri, 13 Mar 2020 12:34:45 +0100 [CRITICAL] request="d65c876cfbeac" component="TYPO3.CMS.Core.Error.ProductionExceptionHandler": Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1294585866: No class named mehrwert\Phpmyadmin\Hooks\BeUserAuthLogOffHook | InvalidArgumentException thrown in file /var/www/typo3/public/typo3/sysext/core/Classes/Utility/GeneralUtility.php in line 3599. Requested URL: https://www.example.com/typo3/?loginProvider=1433416747 - {"TYPO3_MODE":"BE","exception":"InvalidArgumentException: No class named mehrwert\\Phpmyadmin\\Hooks\\BeUserAuthLogOffHook in /var/www/typo3/public/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3599\nStack trace:\n#0 /var/www/typo3/public/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php(1064): TYPO3\\CMS\\Core\\Utility\\GeneralUtility::callUserFunction('mehrwert\\\\Phpmya...', Array, Object(TYPO3\\CMS\\Core\\Authentication\\BackendUserAuthentication))\n#1 /var/www/typo3/public/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php(2809): TYPO3\\CMS\\Core\\Authentication\\AbstractUserAuthentication->logoff()\n#2 /var/www/typo3/public/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php(652): TYPO3\\CMS\\Core\\Authentication\\BackendUserAuthentication->logoff()\n#3 /var/www/typo3/public/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php(413): TYPO3\\CMS\\Core\\Authentication\\AbstractUserAuthentication->checkAuthentication()\n#4 /var/www/typo3/public/typo3/sysext/core/Classes/Core/Bootstrap.php(964): TYPO3\\CMS\\Core\\Authentication\\AbstractUserAuthentication->start()\n#5 /var/www/typo3/public/typo3/sysext/backend/Classes/Middleware/BackendUserAuthenticator.php(63): TYPO3\\CMS\\Core\\Core\\Bootstrap::initializeBackendUser()\n#6 /var/www/typo3/public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(138): TYPO3\\CMS\\Backend\\Middleware\\BackendUserAuthenticator->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))\n#7 /var/www/typo3/public/typo3/sysext/backend/Classes/Middleware/BackendRouteInitialization.php(72): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#8 /var/www/typo3/public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(138): TYPO3\\CMS\\Backend\\Middleware\\BackendRouteInitialization->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))\n#9 /var/www/typo3/public/typo3/sysext/backend/Classes/Middleware/ForcedHttpsBackendRedirector.php(53): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#10 /var/www/typo3/public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(138): TYPO3\\CMS\\Backend\\Middleware\\ForcedHttpsBackendRedirector->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))\n#11 /var/www/typo3/public/typo3/sysext/backend/Classes/Middleware/LockedBackendGuard.php(71): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#12 /var/www/typo3/public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(138): TYPO3\\CMS\\Backend\\Middleware\\LockedBackendGuard->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))\n#13 /var/www/typo3/public/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php(58): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#14 /var/www/typo3/public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(138): TYPO3\\CMS\\Core\\Middleware\\NormalizedParamsAttribute->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))\n#15 /var/www/typo3/public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(67): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#16 /var/www/typo3/public/typo3/sysext/core/Classes/Http/AbstractApplication.php(108): TYPO3\\CMS\\Core\\Http\\MiddlewareDispatcher->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#17 /var/www/typo3/public/typo3/sysext/backend/Classes/Http/Application.php(68): TYPO3\\CMS\\Core\\Http\\AbstractApplication->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#18 /var/www/typo3/public/typo3/sysext/core/Classes/Http/AbstractApplication.php(120): TYPO3\\CMS\\Backend\\Http\\Application->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#19 /var/www/typo3/public/typo3/index.php(24): TYPO3\\CMS\\Core\\Http\\AbstractApplication->run()\n#20 /var/www/typo3/public/typo3/index.php(25): {closure}()\n#21 {main}"}
In the meantime, I mitigated this problem by downgrading mehrwert/phpmyadmin
back to 5.4.0
in my TYPO3 installation's composer.json
:
...
"mehrwert/phpmyadmin": "5.4.0"
...
In Classes/Backend/PmaModule.php i did the folowing to get compatiblity with PHP7.4:
22 + use TYPO3\CMS\Core\Core\Environment;
160 - $path_typo3 = substr(PATH_typo3, strlen($typo3DocumentRoot), strlen(PATH_typo3));
+ $path_to_typo3 = Environment::getPublicPath() . '/typo3/';
+ $path_typo3 = substr($path_to_typo3, strlen($typo3DocumentRoot), strlen($path_to_typo3));
Maybe there is an better way, but it works for me :-)
Best Regards, Renzo
Could you please add a composer.json?
Hello all,
Is the adaptation of EXT:phpmaAdmin for use with MySQL 8.x ang3dycht?
In this context, is an EXT:phpMyAdmin for TYPO3 12.4 being considered?
Or are there alternatives for PHPMyAdmin for use with TYPO3 11/12?
Hello. I use TYPO3 8.7 LTS
and the latest Ext.phpmyadmin 5.2.5
on apache PHP7.1
.
There's no scrollbar in Backend, so it's hard to use phpmyadmin as an extension.
These guys got a bugfix .. it works, so please would you implement this small issue? Thanks.
https://forge.typo3.org/issues/84529
Description
No Scrollbar visible in TYPO3 Backend.
There is a missing CSS statement in Version 5.2.2 in the File:
phpmyadmin/Vendor/phpMyAdmin-4.7.8-all-languages/themes/pmahome/css/common.css.php
#page_content {
margin: 0 .5em;
max-height: calc(100vh - 75px);
overflow: auto;
}
Hey there,
Within the backend phpmyadmin.css.php is not accassible 403 Error, I guess this has to do with the Vendor folder name and the default .htaccess file, Iguess this is similar to #31 .
I didn't change the .htaccess file except of the staticfilecache official addition, so I think it's not just my installation.
The extension is not compatible with PHP 8:
PHP Runtime Deprecation Notice: unserialize(): Passing null to parameter #1 ($data) of type string is deprecated in /.../typo3conf/ext/phpmyadmin/ext_tables.php line 21
There might be more problems than the one mentioned above. Is there a timeline when the extension will be compatible with PHP 8?
EXT:phpmyadmin does not show any other DBs expect for the TYPO3 DB. When you open phpmyadmin in the BE, the default DB comes up as expected. But the DB user also has access to other databases. I can verify this by opening the console in phpmyadmin, and enter:
show databases
or:
use <other database>
But the 2nd DB is not shown in the left panel.
When logging in to typo3 backend i get the following error message:
No class named Mehrwert\Phpmyadmin\Hooks\BeUserAuthLogOffHook
Tried on two different installations using latest typo3 9.x release.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.