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.
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.
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.
Hmm, I wonder if it sets up any database connectors and if so which one(s) it might use.
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
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?
i've just made the page, but there's a ton of stuff on it - what would i be looking for ?
Is there a section listed for either mysql or mysqli ?
i've just got "mysqlnd"
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 :(
no worries, i appreciate your help so far. i can actually get to the php.ini file if it helps ..
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.
ok i'll give it a go and hope i don't blow my nas up .. hehe :)
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
What about the [extensions] section as I previously mentioned?
there isn't one in there
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
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
Glad you got it working.