-
Notifications
You must be signed in to change notification settings - Fork 442
Closed
Description
Hello,
First of all, thanks for this great project!
It seems none of the PHP functions and constants defined by FrankenPHP cannot be called when running a CLI script.
I've iterated through all the ones defined in the stub file and cannot use any:
$ curl http://localhost:8080/script.php
==== Constants ====
FRANKENPHP_LOG_LEVEL_DEBUG: 🗸
FRANKENPHP_LOG_LEVEL_INFO: 🗸
FRANKENPHP_LOG_LEVEL_WARN: 🗸
FRANKENPHP_LOG_LEVEL_ERROR: 🗸
==== Functions ====
apache_request_headers: 🗸
apache_response_headers: 🗸
fastcgi_finish_request: 🗸
frankenphp_finish_request: 🗸
frankenphp_finish_request: 🗸
frankenphp_handle_request: 🗸
frankenphp_log: 🗸
frankenphp_request_headers: 🗸
frankenphp_request_headers: 🗸
frankenphp_request_headers: 🗸
frankenphp_response_headers: 🗸
frankenphp_response_headers: 🗸
getallheaders: 🗸
headers_send: 🗸
mercure_publish: 🗸
$ docker compose exec php php /app/public/script.php
==== Constants ====
FRANKENPHP_LOG_LEVEL_DEBUG: 𐄂
FRANKENPHP_LOG_LEVEL_INFO: 𐄂
FRANKENPHP_LOG_LEVEL_WARN: 𐄂
FRANKENPHP_LOG_LEVEL_ERROR: 𐄂
==== Functions ====
apache_request_headers: 𐄂
apache_response_headers: 𐄂
fastcgi_finish_request: 𐄂
frankenphp_finish_request: 𐄂
frankenphp_finish_request: 𐄂
frankenphp_handle_request: 𐄂
frankenphp_log: 𐄂
frankenphp_request_headers: 𐄂
frankenphp_request_headers: 𐄂
frankenphp_request_headers: 𐄂
frankenphp_response_headers: 𐄂
frankenphp_response_headers: 𐄂
getallheaders: 𐄂
headers_send: 𐄂
mercure_publish: 𐄂
$ docker compose exec php frankenphp php-cli /app/public/script.php
==== Constants ====
FRANKENPHP_LOG_LEVEL_DEBUG: 𐄂
FRANKENPHP_LOG_LEVEL_INFO: 𐄂
FRANKENPHP_LOG_LEVEL_WARN: 𐄂
FRANKENPHP_LOG_LEVEL_ERROR: 𐄂
==== Functions ====
apache_request_headers: 𐄂
apache_response_headers: 𐄂
fastcgi_finish_request: 𐄂
frankenphp_finish_request: 𐄂
frankenphp_finish_request: 𐄂
frankenphp_handle_request: 𐄂
frankenphp_log: 𐄂
frankenphp_request_headers: 𐄂
frankenphp_request_headers: 𐄂
frankenphp_request_headers: 𐄂
frankenphp_response_headers: 𐄂
frankenphp_response_headers: 𐄂
getallheaders: 𐄂
headers_send: 𐄂
mercure_publish: 𐄂
Reproduction script
<?php
// script.php
echo '==== Constants ====' . \PHP_EOL;
$constants = [
'FRANKENPHP_LOG_LEVEL_DEBUG',
'FRANKENPHP_LOG_LEVEL_INFO',
'FRANKENPHP_LOG_LEVEL_WARN',
'FRANKENPHP_LOG_LEVEL_ERROR',
];
foreach ($constants as $constant) {
echo $constant . ': ' . (\defined($constant) ? '🗸' : '𐄂') . \PHP_EOL;
}
echo \PHP_EOL . '==== Functions ====' . \PHP_EOL;
$functions = [
'apache_request_headers',
'apache_response_headers',
'fastcgi_finish_request',
'frankenphp_finish_request',
'frankenphp_finish_request',
'frankenphp_handle_request',
'frankenphp_log',
'frankenphp_request_headers',
'frankenphp_request_headers',
'frankenphp_request_headers',
'frankenphp_response_headers',
'frankenphp_response_headers',
'getallheaders',
'headers_send',
'mercure_publish',
];
foreach ($functions as $function) {
echo $function . ': ' . (\function_exists($function) ? '🗸' : '𐄂') . \PHP_EOL;
}# compose.yaml
services:
php:
image: dunglas/frankenphp:1.12.1
environment:
SERVER_NAME: :80
volumes:
- ./script.php:/app/public/script.php
ports:
- 8080:80Is this expected?
My intended use case was running a (Symfony) console command directly in the container and pushing its results to clients with mercure_publish().
I opened an issue cause I feel like it's a bug but feel free to make it a discussion if it's more appropriate.
I'm available if you have any question.
Thanks!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels