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

VOTE: Are you able to install php-intl on your server? #6207

Closed
sminnee opened this issue Oct 20, 2016 · 4 comments
Closed

VOTE: Are you able to install php-intl on your server? #6207

sminnee opened this issue Oct 20, 2016 · 4 comments

Comments

@sminnee
Copy link
Member

sminnee commented Oct 20, 2016

For SilverStripe 4 we need to upgrade or replace the version of Zend Framework that we depend on (1.x is no longer receiving security updates). We're using Zend for a few areas, but the relevant one here is localisation (details). Removing the dependency on Zend in favour of built-in PHP features would simplify our code, allow the product team to focus on other SS4 features, and greatly reduce the footprint of a SilverStripe installation (removing 10MB of XML data).

All modern localisation libraries depend on a PHP extension called php-intl, which is part of the core PHP system since PHP 5.3 but isn't necessarily installed by default. For example, on Ubuntu you need to apt-get install php5-intl. From what we can see, it's reasonably widespread across shared hosts, but not ubiquitous (details).

If you want to test whether your host includes php-intl, you can run this script:

echo extension_loaded('intl') ? 'intl is available' : 'intl is not available';

Or on the command line:

php -r "echo extension_loaded('intl') ? 'intl is available' : 'intl is not available';"

We have no option to provide localisation services without php-intl. We did initially consider whether we allow for a single hardcoded localisation to be put in place without requiring the php-intl extension. We don't believe that this is worth the additional development effort and codebase complexity, given that everyone outside of that one hardcoded localisation would still need to install this package (over 30% of our user base).

We don't foresee an issue with adding this requirement, but we want to confirm that requiring php-intl isn't going to block the community from making use of SilverStripe 4.

Please agree or disagree with the following statement by adding 👍 or 👎 as a reaction to this post.

If php-intl is a requirement of SilverStripe 4 I will able to use it. Either I have it already installed, I am able to install it, or I am able to move to a host that has it.

If you want to post a comment as to why it's impossible for you to install php-intl, please do so below.

However, please don't brainstorm other ideas about how we might solve this in this thread. if you want to get into that discussion, go to the RFC here: #6194.

@sminnee sminnee changed the title VOTE: Is it acceptable for php-intl to be a requirement of SilverStripe 4? VOTE: Are you able to install php-intl on your server? Oct 20, 2016
@sminnee
Copy link
Member Author

sminnee commented Oct 20, 2016

@klapifoch it would be good to get a bit more detail on the problems you foresee installing intl. Also: do you typically build sites with non-english-speaking visitors or content authors?

@hailwood
Copy link
Contributor

Admittedly we use private vps units for our hosting so we can install it anyway I believe that setting it as a requirement and dropping zend locale is a great move and is best set to go in SS4.

We don't often build sites in other languages, however we do often build sites that require multiple currencies and php-intl is a great way to do this.

It's also super useful for things like the NumberFormatter e.g.https://github.com/webfox/silverstripe-helpers/blob/master/code/HelpersTemplateProvider.php#L14

I've installed the extension on a range of systems and have never run into issues with installing it.
Even when we used shared hosting the hosting companies were normally pretty good with enabling extensions if you asked them to so perhaps if your host won't install this for you then it's time to move on?

@jonom
Copy link
Contributor

jonom commented Oct 21, 2016

I kind of hope my host doesn't support intl so that I can finally be motivated to change hosts... oh they do. Guess I'll stick with them for another decade.

@sminnee
Copy link
Member Author

sminnee commented Oct 27, 2016

OK I'm closing this issue. Adding php-intl as a dependency isn't going to be an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants