Legacy Version
These are the docs for Directus 8, a legacy version of the platform. If you're looking for the current Directus 9 documentation, go here: https://docs.directus.io
💬 Troubleshooting
Below are solutions to some common issues that you may experience when working with Directus. You can also post questions to StackOverflow or reach out to the members of our Slack community!
Install Checklist
If you're having difficulty getting Directus up-and-running, this setup checklist will help troubleshoot and diagnose issues. Follow each step, in order, and you should be good to go!
WARNING
This checklist applies to the OS-level requirements for your Directus server. If you are installing Directus using any of the other installation methods outlined here, you will need to examine your container image (or other system configuration) to ensure these requirements are met.
Does your server meet the minimum requirements
- Apache 2
- PHP 7.2+
- MySQL 5.7+
Are all the required PHP Extensions enabled?
pdo
mysql
curl
gd
fileinfo
mbstring
xml
Is
mod_rewrite
enabled? Do.htaccess
files work? — DigitalOcean GuideIs the root directory of the Directus API set to the
/public
directory?Is the directory ownership set to the web server configured user? — Usually the user is
www-data
. You can change the ownership of a directory (cascading) using this command:# sudo permissions required # # the -R flag indicates recursive execution of this change (all contents within the directory will also be changed) # # www-data:www-data means the user AND group owners will be set to www-data i.e. <user>:<group> # # /var/www/api is our example directory sudo chown -R www-data:www-data /var/www/directus
Do the following folders have write permission?
/logs
/public/uploads
(or your configured upload directory)
Are you using the latest release of Directus?
Did you install or create the API configuration file manually?
Did you get
pong
response from the/server/ping
server endpoint?Are you using the correct API project URL?
Did you check your logs?
- Directus Logs
- Apache Logs
- PHP Logs
- MySQL Logs
Did you check GitHub for an open issue similar to yours?
Frequently Asked Questions
Below are questions that are commonly asked by people working with Directus. If you can't find an answer, you can post questions to StackOverflow or reach out to the members of our Slack community!
Why is my relational data/file only returning an ID?
Directus allows you to request specific field data at different depths. You can use the fields
parameter to fetch deeper relationships fields (eg: ?fields=*.*.*
for three levels deep) or even specific fields to keep things as performant as possible (eg: ?fields=image.title
for a relational image's title).
However you'll also want to ensure that you have the correct read permissions for the related tables you're requesting. By default, Directus keeps all data private by default, so you will need to enable read permission for the tables you're trying to access. If you're making unauthenticated requests that include file data, you'll also need to allow read access to directus_files
for the public
role. Be aware, this may allow advanced users to list all files.
Why can't I login to the demo?
You can login to our online demo with admin@example.com
and password
. Our demo is public, and so occasionally users will change these credentials (locking everyone else out) or mess up other demo data. If this happens, just wait a bit... our entire demo server resets each hour.
How can I increase the 2MB limit on file uploads?
Directus uses the file limit configured within your server's PHP environment. To update this limit you'll want to edit upload_max_filesize
and post_max_size
within your php.ini
file.
Does Directus handle deploying or migrating of content?
Directus does not currently provide any tools for migrating or deploying your schema/data changes between different environments (ie. from development to production).
Which SDKs are available for Directus?
Currently, the only SDK maintained for Directus is the JavaScript SDK, it's difficult to be Open-Source and maintain multiple SDKs manually.
We're hoping for, and awaiting support from the OpenAPI 3.0 Spec to autmatically generate any and all other SDKs. Giving a thumbs-up could really help! You can, follow the progress of Directus SDK coverage here.
When using PHP, we recommend using Guzzle for the time-being and call the API directly.
Why is my MariaDB installation not working?
While we don't officially support MariaDB, many successfully use that database type. Some users have noted seeing the following error message: not able to install database: ./directus install:database SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
When you're using MariaDB, though it's based on the same source code as MySQL, there are subtle differences. Directus requires the use of the utf8mb4
charset. MariaDB V10.2 or higher will be required for this to work.
Why can't I save content with certain languages, characters, or emoji?
This is an issue with the database itself. Please confirm that your database, tables, and fields are all set to use utf8-mb4
charset and encoding.
Technical Support
Directus is offered as free and open-source for users who wish to self-host the software. However, with millions of installs around the world, there is no way that our small team can offer free support. Below we've outlined the different support options available.
TIP
If your issue really seems like a bug
(not a configuration problem) then please report it on GitHub issues for the API or App. The more information you can provide, the more likely it is that we can fix the issue quickly.
Community Support
StackOverflow is great first place to reach out for help. Our community and Core developers often check this platform and answer posts tagged with directus
.
Another option to get help is our Slack Community. Please keep all questions on the #support
channel, be considerate, and remember that you are getting free help for a free product.
Standard Support
Our Core team offers standard support to all on-demand tier Directus Cloud customers, as well as some strategic partners.
Premium Support
Premium support is available to the following:
- Enterprise tier Directus Cloud customers
- GitHub Sponsors in our "Retainer" tiers
- Clients of RANGER Studio (our parent agency)
- Self-Hosted users paying for hourly support
Getting Premium Support
Premium support is billed at a rate of $125/hour (standard) or $187.50/hour (expedited). If you are interested in acquiring premium support, please contact us at: info@directus.io.