How do you define a custom entrypoint for a PHP application?

For most PHP applications, the entry point is structured above the root level (i.e. public/index.php, www/index.php, etc). The PHP handler for app platform only looks for an entry point in the root directory.

Cannot serve directory /workspace/: No matching DirectoryIndex (index.php,index.html,index.htm) found, and server-generated directory index forbidden by Options directive

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi! You can set a specific directory as the document root by passing it as an argument to the run command like so:

heroku-php-apache2 public/


heroku-php-apache2 www/

The PHP environment uses the Heroku PHP Buildpack so you can refer to the official documentation for more info.