JetBrains / JetBrains/phpstorm-workshop
Poor developer experience when PhpStorm doesn't work out of the box
- Dominant language
- PHP
- Stars
- 294
- Forks
- 69
- PR merge metrics
- No merged PRs in 30d
Description
I'm on macOS Sonoma, using the latest Docker Desktop for Mac, and the latest version of PhpStorm.
I followed the [guide](https://www.jetbrains.com/help/phpstorm/quick-start-guide-phpstorm.html#bb0ff725) to install the Workshop from within PhpStorm:
As instructed, I edited the `docker-compose.yml` to uncomment:
```
XDEBUG_CONFIG: remote_host=host.docker.internal
```
and
```
- /tmp:/home/jetbrains/upload
```
I ran the project as instructed, but this fails on an ARM processor Mac as the images are all Intel-based.
I then tried on an Intel Mac (again, latest Docker & PhpStorm) and I am at least able to build the project and it appears to run.
The docker-compose.yml appears to suggest I should be able to reach the project on port `8081` but this also fails:
The logs say:
```
[Mon Oct 09 23:47:24.636827 2023] [autoindex:error] [pid 18] [client 192.168.65.1:30717] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive
2023-10-09T23:47:24.637237955Z 192.168.65.1 - - [09/Oct/2023:23:47:24 +0000] "GET / HTTP/1.1" 403 493 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/118.0"
```
Later in the [Debug your application](https://www.jetbrains.com/help/phpstorm/quick-start-guide-phpstorm.html#debug-your-application) section of the guide:
This is incorrect. There is no such interpreter automatically configured (that would require PhpStorm to create an `.idea` folder with the interpreter already configured when generating the Workshop, right?):
I then attempt to create an interpreter, although the guide is no help at this point since it assumes it was automatically created:
Creating an interpreter which points at the php in the docker container is not enough. It appears a Run configuration needs to be created as well, and requires pointing the Run configuration at the exact same docker-compose.yml used when creating the interpreter:
After attempting to run the docker compose project, I was prompted with this:
There are no options for telling PhpStorm to get the `phpinfo()` from the interpreter I've already configured. Given that I can't actually run this project, I can't copy and paste it either.
I stumbled upon this tutorial project after wasting time trying to get PhpStorm & xdebug working in a `docker compose` environment. The PhpStorm documentation is very fragmented and doesn't walk someone through a full working example for a `docker compose`-based setup. It's a shame that this official tutorial doesn't work either.
What is the right way to spin up a docker compose environment, configure PhpStorm to run the `docker compose` containers, and connect to xdebug for debugging?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.