Running PHP index without a `.env` setup fails with an unclear error

Open
#3 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
php
Domain
backend

Research direction

Start by running php index.php without a .env file to reproduce the failure. Read index.php and src/model/APNSCredentials.php, especially the constructor call and the reported strlen() error. Done means missing credentials produce a clear message about the missing .env and how to set it up instead of the current TypeError.

Written by the indexing model from the issue text.

Description

Hey @jkmassel, as you know, I'm a PHP noob. So feel free to close this issue if what I'm saying doesn't make sense.

I'm tracking this as an issue rather than a Slack convo because it feels tidier. Also, it might be a chance for me to link a PR to this issue to practice fixing.


After cloning the repo and running Composer, I tried to run php index.php knowing that I had no credentials setup to see the kind of error I'd get. This is what happened

➜ php index.php                                                                                                     
=== Push Notification Server ===
PHP Fatal error:  Uncaught TypeError: strlen() expects parameter 1 to be string, bool given in /Users/gio/Developer/a8c/php-push/src/model/APNSCredentials.php:12
Stack trace:
#0 /Users/gio/Developer/a8c/php-push/index.php(7): APNSCredentials->__construct(false, false, false)
#1 {main}
  thrown in /Users/gio/Developer/a8c/php-push/src/model/APNSCredentials.php on line 12

Fatal error: Uncaught TypeError: strlen() expects parameter 1 to be string, bool given in /Users/gio/Developer/a8c/php-push/src/model/APNSCredentials.php:12
Stack trace:
#0 /Users/gio/Developer/a8c/php-push/index.php(7): APNSCredentials->__construct(false, false, false)
#1 {main}
  thrown in /Users/gio/Developer/a8c/php-push/src/model/APNSCredentials.php on line 12

What I would have expected was a message about the missing .env with info on how to set it up.

Granted, for the context of this application, handling as one-off basic task like setting app .env might be overkill. Still worth tracking, though, I think.

Dominant language
PHP
Stars
5
Forks
2
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Automattic/php-push

All issues in Automattic/php-push

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.