Simple Machines Community Forum

SMF Support => Server Performance and Configuration => Topic started by: jasonwatkins on October 08, 2018, 03:29:03 PM

Title: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 03:29:03 PM
I've got a Synology NAS and i've installed MariaDB 5 & 10 and PHP 5.6 and 7 as well as phpMyAdmin and Apache HTTP Server 2.2

I've enabled web services and uploaded the installation file into the folder and unzipped it.

I then go to my URL and add /install.php and I get the first page of the installer up and

"!!Critical Error!
The installer was unable to detect any database support in PHP. Please ask your host to ensure that PHP was compiled with the desired database, or that the proper extension is being loaded."

And I can't work it out.   I've created a couple of test databases with some users and granted all to each one, but it obvious won't do a lot if the installer doesn't even detect the database support.

I've googled around for a while and there's no hints i can find as the only other sites i've found mentioning synology drives and smf have people successfully installing it without an issue.

any ideas would be most welcome, thanks.
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 03:34:09 PM
How exactly did you install PHP on it? Depending on exactly how you installed it, you may not have added database support (or you may have added it but not enabled it)

Also, Apache 2.2 is no longer maintained and Apache 2.4 should be used instead.
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 03:40:12 PM
i just used the standard synology package installer for php.   i'll see if i can re-install it and check if there are any options i've missed.

i'll try apache 2.4 though - that's on there as well.

#edit

just re-installed php 5.6 and it doesn't ask for any settings or anything at any point - just click "install" then it's done.   installed apache 2.4 as well and i'm still getting the same error on the installation page.
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 03:45:04 PM
Hmm, I wonder if it sets up any database connectors and if so which one(s) it might use.
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 04:05:08 PM
i did try to find a separate mysql package for synology drives, but they all use mariadb unfortunately.  phpymyadmin has a mysql database in it, which i've also granted all on, but still no luck
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 04:14:56 PM
But that's not what you're missing.

PHP out of the box doesn't support any databases. All of the bits that let PHP talk to a database are plugins - even MySQL support - just mostly enabled by default.

If you make a little page with the phpinfo() command in it, what does that say?
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 04:31:08 PM
i've just made the page, but there's a ton of stuff on it - what would i be looking for ?
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 04:35:06 PM
Is there a section listed for either mysql or mysqli ?
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 04:38:46 PM
i've just got "mysqlnd"
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 04:42:58 PM
OK, so you're missing either of the connectors for MySQL itself (mysqlnd is only part of the story, on its own PHP can't talk to MySQL)

So... the next question is whether the PHP installer actually bundled any of the connectors or not and that, unfortunately, I can't tell you - I don't have a Synology NAS :(

If this were a Windows installation, I'd say it probably came with all the libraries and it was just a case of commenting out the line in php.ini (the one mentioned at the top of phpinfo()) and restarting Apache.

If this were a Ubuntu/Debian installation, I'd be saying to go use apt-get (or apt) to install php-mysql and php-mysqli.

But I've never come across a Synology NAS before now, sorry :(
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 04:47:57 PM
no worries, i appreciate your help so far.   i can actually get to the php.ini file if it helps ..
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 04:49:18 PM
In there will be a section called extensions, and very likely every entry has a ; at the start indicating it is commented out. Look for ones referencing mysql and mysqli (maybe not pdo_mysql though) and if they're commented out, try taking the ; off the start, saving and restarting Apache.
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 04:51:20 PM
ok i'll give it a go and hope i don't blow my nas up .. hehe :)
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 05:02:12 PM
well this is what i found in the php.ini file regarding mysql .. as you can see, nothing commented out

[mysql]
mysql.allow_persistent = 1
mysql.connect_timeout = 60
mysql.max_persistent = -1
mysql.default_socket =
mysql.max_links = -1
mysql.default_host =
mysql.allow_local_infile = 1
mysql.default_port =
mysql.trace_mode = 0
mysql.default_password =
mysql.default_user =

[mysqli]
mysqli.max_persistent = -1
mysqli.allow_persistent = 1
mysqli.max_links = -1
mysqli.reconnect = 0
mysqli.rollback_on_cached_plink = 0
mysqli.default_socket =
mysqli.default_pw =
mysqli.default_host =
mysqli.default_user =
mysqli.default_port = 3306
mysqli.allow_local_infile = 1
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 05:15:55 PM
What about the [extensions] section as I previously mentioned?
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 08, 2018, 05:36:34 PM
there isn't one in there
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 08, 2018, 05:44:05 PM
A quick Google search took me to the Synology FAQs where it shows how to enable the extensions - you will need the mysql and mysqli extensions on PHP 5.6.

https://www.synology.com/en-uk/knowledgebase/DSM/tutorial/Application/How_to_host_a_website_on_Synology_NAS
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: jasonwatkins on October 09, 2018, 02:40:01 AM
considering the amount of time i spent googling for a solution, you'd think i'd probably look at the one thing that's right under my nose :)

enabled the relevant extensions and it's now working.  thanks again for your help
Title: Re: Installing on Synology NAS - Installer doesn't detect Database support in PHP
Post by: Arantor on October 09, 2018, 02:51:48 AM
Glad you got it working.