Try to install Joomla! 4.0 Alpha 1.
Installer lets me use a MySQL database connection.
Only the PostgreSQL option is presented to me
nicholas@nicholas-KATANA:~/Sites/dev4$ mysql --version
mysql Ver 14.14 Distrib 5.7.20, for Linux (x86_64) using EditLine wrapper
nicholas@nicholas-KATANA:~/Sites/dev4$ php -i | grep mysqli
Configure Command => './configure' '--prefix=/usr/share/php70' '--datadir=/usr/share/php70' '--mandir=/usr/share/man' '--bindir=/usr/bin/php70' '--with-libdir=lib64' '--includedir=/usr/include' '--sysconfdir=/etc/php70/apache2' '--with-config-file-path=/etc/php70/cli' '--with-config-file-scan-dir=/etc/php70/conf.d' '--localstatedir=/var' '--disable-debug' '--with-regex=php' '--disable-rpath' '--disable-static' '--disable-posix' '--with-pic' '--with-layout=GNU' '--with-pear=/usr/share/php' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db4' '--without-gdbm' '--with-iconv' '--enable-exif' '--enable-ftp' '--enable-cli' '--with-gettext' '--enable-mbstring' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--with-libxml-dir=/usr' '--with-zlib' '--with-kerberos=/usr' '--with-openssl=/usr' '--enable-soap' '--enable-zip' '--with-mhash' '--with-exec-dir=/usr/lib/php70/libexec' '--without-mm' '--with-curl=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--enable-gd-native-ttf' '--with-gmp=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-ttf=shared,/usr' '--with-ldap=shared,/usr' '--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/bin/mysql_config' '--with-pgsql=shared,/usr' '--with-pspell=shared,/usr' '--with-unixODBC=shared,/usr' '--with-xsl=shared,/usr' '--with-snmp=shared,/usr' '--with-sqlite=shared,/usr' '--with-tidy=shared,/usr' '--with-xmlrpc=shared' '--enable-pdo=shared' '--without-pdo-dblib' '--with-pdo-mysql=shared,/usr' '--with-pdo-pgsql=shared,/usr' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-dblib=shared,/usr' '--enable-force-cgi-redirect' '--enable-fastcgi' '--with-libdir=/lib/x86_64-linux-gnu' '--with-pdo-sqlite=shared' '--with-sqlite=shared' '--enable-ipv6' '--with-mcrypt' '--with-imap=/usr/lib' '--with-imap-ssl'
/etc/php70/conf.d/20-mysqli.ini,
mysqli
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 => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off
nicholas@nicholas-KATANA:~/Sites/dev4$ php --version
PHP 7.0.20 (cli) (built: Jul 2 2017 11:39:21) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.20, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.5.3, Copyright (c) 2002-2017, by Derick Rethans
nicholas@nicholas-KATANA:~/Sites/dev4$ apache2 -v
Server version: Apache/2.4.27 (Ubuntu)
Server built: 2017-09-18T15:05:48
Tested on Kubuntu 17.10, stock Apache and MySQL, PHP compiled by myself. Yes, mysqli is enabled, PDO is enabled and its MySQL driver too. On this exact same server Joomla! 3.4 and later works fine up to 3.8.2 (max version tested). Only the installation of 4.0 Alpha 1 fails.
Labels |
Added:
?
|
Category | ⇒ | com_installer |
Status | New | ⇒ | Discussion |
Title |
|
FWIW I have installed the site manually, editing the configuration.php by hand. Both mysql
and pdomysql
options seem to work. However, I have had all of 2' of using the site so maybe it's broken indeed. Maybe you need to recheck how the installer determines which drivers to render in the dropdown?
If you want to reproduce this issue you can use my Vagrant box. It's essentially the same setup, just based on Ubuntu Server 16.04.
I have noticed similar issue, in my tests the Installer detect only MySQLi
but no PDO
,
I have tested on default Ubuntu Server 16.04
/etc/php/7.0/cli/conf.d/20-mysqli.ini,
mysqli
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 => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off
API Extensions => mysqli,pdo_mysql
/etc/php/7.0/cli/conf.d/10-pdo.ini,
/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini,
/etc/php/7.0/cli/conf.d/20-pdo_sqlite.ini,
API Extensions => mysqli,pdo_mysql
pdo_mysql
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
pdo_sqlite
For the PDO part I think it's server config.
For MySQLi, basically instead of this line I need to find a way to replace it with a non-mysqlnd specific solution (I think this method in Doctrine's DBAL is what I'm looking for but I need to make sure I can make it work without breaking our API internals).
I tried installing Joomla! 4 again today on MAMP. Since PHP there is compiled against mysqlnd I was able to select MySQLi. However, it still didn't detect PDO. I could use PDO after the installation was over just fine. So, maybe, PDO detection isn't server config after all? :)
I confirm the same thing happened to me on a simple LAMP Stack Vagrant box and on a hosting space managed by cPanel. I could only see PostgreSQL.
Not shure that this is the same problem. Just tried to install J!4 on a server with php 7.1 and mySQL not on localhost. Cannot select any database type at all ??
Not yet any solution?
@Artwebco maybe this help #18783 (comment)
Seems this issue is related only to MAMP, I tried with WAMP and everything
is OK
On Fri, Dec 8, 2017 at 4:38 PM, Franz Wohlkönig notifications@github.com
wrote:
@Artwebco https://github.com/artwebco maybe this help #18783 (comment)
#18783 (comment)—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#18660 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYdMMZgubYlUB7xrhypTIPKCerwUHgtoks5s-VgLgaJpZM4QjASd
.
--
Nikola Nikovski
Upwork Joomla and Wordpres developer
Actually is not everything OK.
I installed Joomla4, but after I logged in to /administrator and I see this error.
"An error has occurred.
0 This is not implemented, as it is not possible to implement Argon2i with acceptable performance in pure-PHP"
Right, now is OK.
On Fri, Dec 8, 2017 at 4:56 PM, Michael Babker notifications@github.com
wrote:
@Artwebco https://github.com/artwebco Somehow you have a non-Bcrypt
based password hash stored for that user account then (core supports
Argon2i hashes but we definitely aren't generating them right now).—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#18660 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYdMMabQfLPBApUmMfCwkt2k91ATiQ2hks5s-VxKgaJpZM4QjASd
.
--
Nikola Nikovski
Upwork Joomla and Wordpres developer
The Argon2i error comes up if the user had a salted MD5 password. I think it’s a bug on its own right: accounts which have not been logged in since Joomla 3.3.5 (if memory serves) are permanently logged out of the site with an ungraceful and inelegant server error. I was planning on reporting it this weekend. Would you like me to, @mbabker? I can provide sample DB data.
I think once we get 4.0 up to the latest sodium_compat
release and improve the isSupported
checks in the password handler things will work themselves out (see paragonie/sodium_compat#55 for more info on why). But yes, a separate issue would be helpful if for nothing else than to act as a nudge.
hit the problem myself today using MAMP showing no database available.
Note that J3 works perfectly on the same MAMP install
MAMP 3.3.1 on windows
php 7.1.5
mysql 5.6.34
Same problem on Macbook Pro Joomla3 works perfectly.
AMPPS 3.8
php 7.1.8
MySql 5.6.36
That might get the PDO option to show back up but the MySQLi stuff is still broken and will continue to be until someone with the time and knowledge can chase down something like I explained in #18660 (comment)
Some issue with PHP 7.2.1
Only MySQL(PDO) selection in Database field posssible, NO MySQLi displayed.
Installation not possible on Apache server 2.4.29 at Strato.
I changed the configuration.php-dist to configuration.php after deleting the original configuration.php file.
Although I could not select MySQL in the database selection field (Only MySQL(PDO) displayed) I manegd to get the installation running and it seems to work fine now.
For yr reference I enclose the working config.php file and current System Information.pdfsystem onfo. configuration.php.pdf
Labels |
Added:
J4 Issue
|
Cross linking this and #16799 since at this point they are one in the same (unless there's an outstanding issue with the PDO driver I'm missing).
Right now our DatabaseDriver::execute()
method works by storing a result cursor reference to DatabaseDriver::$cursor
that is used by default in various internal methods for loading records. For PDO, this is the PDOStatement
object created by running PDO::prepare()
, in MySQLi this is a mysqli_result
instance, and in PostgreSQL this is a generic "resource" type.
For MySQLi, without mysqli_stmt::get_result()
being available, it is not possible to get a usable mysqli_result
instance. So in essence our entire API design falls apart unless you use PHP with ext/mysqli
compiled with mysqlnd
support; libmysql
support is totally broken right now.
I've mentioned Doctrine's DBAL a few times in the various issues dealing with this, I'm doing it again. Their API design makes each SQL statement a separate \Doctrine\DBAL\Driver\Statement
object. Since their DBAL is based on PDO, that interface's design is an abstraction based on a subset of the PDOStatement
class, then they have created implementations for MySQLi and SQL Server (as I've said elsewhere, their API doesn't support native PostgreSQL, it's only supported through PDO). At this point I'd really love to just pull the Statement objects from Doctrine and use those, but that requires a dependency on doctrine/dbal
in full to bring in 2 interfaces and 3 classes, so that option's probably off the table unless we're going to start rewriting our database API to make more use of Doctrine (which to be honest with our API design the only other thing I find interesting is the Connection objects, but that's minimal gain as well).
Why would I want the Statement objects? As I said a bit ago, our existing PDO architecture treats PDOStatement
as the result cursor, it should be reasonably practical to adapt the non-PDO drivers to a similar approach.
As far as API design goes, to pull off migrating to a set of Statement objects, I foresee the need for these B/C breaks at a minimum:
DatabaseDriver::execute()
will only return boolean true (because false conditions result in Exceptions being thrown), it would no longer return the result cursorDatabaseDriver::fetch*()
will only work with the internal result cursor set by DatabaseDriver::execute()
, it would no longer accept an injected cursorThoughts?
Same error with Joomla 4 alpha 2 on OSX and AMPPS , only PostgreSQL possible
Labels |
Added:
?
|
installation/forms/setup.xml mysql was missing
<field name="db_type" type="databaseconnection" id="db_type" class="custom-select form-control" label="INSTL_DATABASE_TYPE_DESC" supported="mysqli,pdomysql,postgresql" required="true" default="mysql" filter="string" />
fix : supported="mysql,mysqli,pdomysql,postgresql"
fix : supported="mysql,mysqli,pdomysql,postgresql"
Fix: Use a nightly build. The XML is correct in the current development branch, the older alpha releases are now several months behind and should not be used.
thanks ! but I dont know where to find the lasts alpha , is there a place where to find all last versions ?
thanks !!!
Just tried the latest nightly. Now I see the choice mysql (PDO) - but when I press next I get a blank screen and nothing more happens...
PHP 7.1 on the server.
OK, at this point there is really no point in continuing to comment "it's broke". We all know it is, hence this issue being open. I pointed out in November 2017 why it's broke (actually a cross-referenced issue going back to June 2017 explained it the first time around). Nobody has stepped up to help with fixing it, I finally made some time last week to start on the solution I think is required for this issue, see joomla-framework/database@2.0-dev...statements for the code diff if anyone is interested enough to do a preliminary review. I will try to find time to continue on that at some point this month, but as long as I'm the only one who seems willing or able to work on a fix then it's going to be a very slow process to reach the end state of everything working as it needs to (and no, the fix is not to revert to the 3.x code; the 3.x code does not support a critical security tool in writing secure database queries, prepared statements, and the reason there are issues in the current 4.0 code is because the database drivers have been updated to support that but issues were introduced along the way, it's unfortunate but it happens in major refactoring sometimes).
There is also #19989 open needing testing/review which addresses some other minor code related issues (doesn't fix the database drivers but fixes some conditional behaviors around the active database driver).
In the branch I mentioned in my last comment 3 of the 4 drivers the CMS supports (PDO MySQL and PostgreSQL and MySQLi) should be in a testable state now (the PostgreSQL environment should be tested on 9.x, I have 10.0 installed locally and there are some new test failures in that version to be addressed next). The PostgreSQL driver for native ext/pgsql
is having issues, see https://travis-ci.org/joomla-framework/database/builds/360958604 for failing Travis build. This is predominantly when using the DatabaseIterator
objects, but there are two other failures outside that (one involving transactions and another the data type of a column in a prepared statement). Until I can sort those out I'm not merging that work back to this repo.
Status | Discussion | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-04-02 05:06:27 |
Closed_By | ⇒ | franz-wohlkoenig |
Closed_By | franz-wohlkoenig | ⇒ | joomla-cms-bot |
Set to "closed" on behalf of @franz-wohlkoenig by The JTracker Application at issues.joomla.org/joomla-cms/18660
Labels |
Removed:
?
|
MySQLi can be left out if you aren't using mysqlnd because the prepared statement support depends on it and it was causing issues for those without it (still gotta fix that one).
PDO, I'm clueless.