alextselegidis / easyappointments

:date: Easy!Appointments - Self Hosted Appointment Scheduler
https://easyappointments.org
GNU General Public License v3.0
3.3k stars 1.26k forks source link

installing 1.5.0 on ubuntu 22.04 with apache and mariadb and php 8.2 breaks with an error #1563

Closed janvanl closed 1 month ago

janvanl commented 2 months ago

Hi,

i wanted to install the latest version of eap but i get an error:

An uncaught Exception was encountered Type

Error Message

Call to undefined function mysqli_init() Filename

/var/www/clients/client1/web93/web/system/database/drivers/mysqli/mysqli_driver.php Line Number

135

I have searched the web and found that this is something specific for codeigniter. Does anyone have a solution on how to solve this?

I have uncommented extension=mysqli in all php-ini-files for 8.2 inclusive for cli. Restarted the service php8.2-fpm and the the service apache2.

But without result. I would be gratefull if someone can point me in the right direction to solve this.

Regards, Jan

dyegoe commented 2 months ago

Hey, I had the similar issue when upgrading from 1.4.x to 1.5.x You need to access the backend and do the login. The error above will appear. Then you access https://your-url.com/index.php/backend/update It will perform the database migration

janvanl commented 2 months ago

Thanks dyegoe, this was a new install, no update.

if i give in the url you proposed https://domain.tld/index.php/backend/update the same error appears


An uncaught Exception was encountered Type

Error Message

Call to undefined function mysqli_init() Filename

/var/www/clients/client1/web93/web/system/database/drivers/mysqli/mysqli_driver.php Line Number

135


This is documented in internet as a problem from codeigniter, until now i have not yet found a solution. It could have to do with the version of codeigniter 3.2 and PHP 8.2.

Regards, Jan

janvanl commented 2 months ago

Hi, iphp8.2-mysqlnd installed

php8.2-mysqli installed becomes php8.2-mysql automatically changed (by ondrey-repo ?)

Now i get:

A PHP Error was encountered Severity

Warning Message

mysqli::real_connect(): php_network_getaddresses: getaddrinfo for mysqli failed: Name or service not known Filename

mysqli/mysqli_driver.php Line Number

203 An uncaught Exception was encountered Type

mysqli_sql_exception Message

php_network_getaddresses: getaddrinfo for mysqli failed: Name or service not known Filename

/var/www/clients/client1/web93/web/system/database/drivers/mysqli/mysqli_driver.php Line Number

203

so the search to a solution goes on.

alextselegidis commented 2 months ago

The last error means that the connection info in your config.php are wrong. Can you double check them?

janvanl commented 2 months ago

Hi, thanks for the reaction.

I have checked the database-name, database-user, password for the user. Loggedin to PHPMyadmin with this credentials without problems. With databasehost i have tried: http://localhost http://127.0.0.1 http://domain.tld (under which i installed EAP) http://[the ipv4-address]

I still get the same error for linenumber 203

Any idea where to look further?

Regards, Jan

alextselegidis commented 2 months ago

Hello!

Try just "localhost" for the db host

Alex Tselegidis, Easy!Appointments Creator
Need a customization? Get a free quote!

janvanl commented 2 months ago

Thank you Alex, i tried all possible combinations, with and without http, https - localhost or 127.0.0.1, the domainname. None will work.

I have installed this demosystem version 1.5 in http://planung.top - no subdirectory another demosystem (prior version of eap 1.4.1) is installed in a subdirectory (easyappointments) under the webroot. The old demo is working.

Does eap need a subdirectory?

regards, Jan

alextselegidis commented 2 months ago

Hello!

No it does not although it will run just fine in a sub directory.

This looks like an issue with your local set up

With databasehost i have tried: http://localhost/ http://127.0.0.1/ http://domain.tld/ (under which i installed EAP) http://[the ipv4-address]

For the db connection host the http:// part is not requried, just localhost, 127.0.0.1 or other in case differently available to the server

In order to test your local installation credentials you can download phpminiadmin.php or adminer.php and try to connect to the db server using the same info. If it works there it should work for EA too.

https://www.adminer.org/

https://phpminiadmin.sourceforge.net/

Alex Tselegidis, Easy!Appointments Creator
Need a customization? Get a free quote!

janvanl commented 1 month ago

Hi,

i made a stupid mistake . . . . instead of: const DB_HOST = 'localhost'; i had filled in: const DB_HOST = 'mysqli';

I should not do these things around midnight.

1.5 is now installed and it really looks smooth. This week i have to build a demo along with 2 other calendarsystems so a user can choose what fits best.

Thanks for your help and sorry for my stupid error.

Regards, Jan

alextselegidis commented 1 month ago

Hi Jan,

Glad to know you managed to resolved this issue.

Alex Tselegidis, Easy!Appointments Creator
Need a customization? Get a free quote!