Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't call php_uname function if disabled by php.ini #829

Merged
merged 1 commit into from
Jan 13, 2020

Conversation

richardm-stripe
Copy link
Contributor

@richardm-stripe richardm-stripe commented Jan 9, 2020

Addresses #828. Some hosting providers disable the php_uname function, presumably by adding it to 'disable_functions' in php.ini. This PR retrieves the value of 'disable_functions', parses the comma-separated list it to see if 'php_uname' is contained. In that case, we hardcode uname to "(disabled)" to avoid calling php_uname.

r? @ob-stripe
cc @remi-stripe

@richardm-stripe richardm-stripe force-pushed the richardm-dont-call-phpuname-if-disabled branch from c859e8a to 392f8af Compare January 9, 2020 19:06
@@ -260,7 +260,8 @@ private static function _defaultHeaders($apiKey, $clientInfo = null)
$uaString = 'Stripe/v1 PhpBindings/' . Stripe::VERSION;

$langVersion = phpversion();
$uname = php_uname();
$uname_disabled = in_array('php_uname', explode(',', ini_get('disable_functions')));
$uname = $uname_disabled ? '(disabled)' : php_uname();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor but have we considered making that call once when the library or client is initialized and then use a cached value instead of doing that on each request?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll probably do just that if/when I ever get to rewriting the HTTP client layer.

@ob-stripe ob-stripe self-assigned this Jan 10, 2020
Copy link
Contributor

@ob-stripe ob-stripe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@@ -260,7 +260,8 @@ private static function _defaultHeaders($apiKey, $clientInfo = null)
$uaString = 'Stripe/v1 PhpBindings/' . Stripe::VERSION;

$langVersion = phpversion();
$uname = php_uname();
$uname_disabled = in_array('php_uname', explode(',', ini_get('disable_functions')));
$uname = $uname_disabled ? '(disabled)' : php_uname();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll probably do just that if/when I ever get to rewriting the HTTP client layer.

@richardm-stripe richardm-stripe merged commit 5230037 into master Jan 13, 2020
@ob-stripe ob-stripe deleted the richardm-dont-call-phpuname-if-disabled branch January 30, 2020 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants