Php gettext uzatma benim yerel ana çalışır ama benim barındırma üzerinde çalışmıyor

2 Cevap php

Benim localhost ve çalışmış her şeyi php gettext çalıştım, ama benim barındırma dosyaları tarih ne zaman şunları söyledi:

Warning: putenv(): Safe Mode warning: Cannot set environment variable 'LC_ALL' - it's not in the allowed list in /www/zxq.net/w/e/e/weedcl/htdocs/localization.php on line 4 Fatal error: Call to undefined function bindtextdomain() in /www/zxq.net/w/e/e/weedcl/htdocs/localization.php on line 6

I Zymic (onun ÜCRETSİZ ki? Gerçeği ile ilgisi var mı) ücretsiz barındırma hizmeti kullanıyorum.

Benim localization.php:

<?php
$locale = "de_DE";
if (isSet($_GET["locale"])) $locale = $_GET["locale"];
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");
?>

2 Cevap

Ben (onun ÜCRETSİZ ki? Gerçeği ile ilgisi var mı) ücretsiz barındırma hizmeti Zymic kullanıyorum.

Muhtemelen. Bu safe_mode sağladı ve LC_ALL ortam değişkeni değiştiremezsiniz. Sen safe_mode etkin olan her ana problemlerin bu tür içine çalışacak ve en özgür olanları bu şekilde var.

Putenv () çağrısını kaldırın ve daha sonra ne olacağını görmek için çalışın.

Bazı hosting hizmeti olduğunda çok sık durumda olan - first problem safe_mode etkin olduğunu gösterir alıyorsanız uyarı mesajıdır.

Eğer putenv , are the ones which have a name that starts by something listed in safe_mode_allowed_env_vars kullanarak ayarlayabilirsiniz tek: safe_mode etkin olduğunda ve ortam değişkenleri her türlü ayarlanamaz.


LC_ is probably not an allowed prefix ; which means you cannot do this :

putenv("LC_ALL=$locale");

Bu hat yararsız olmanın, bunu kaldırmak isteyebilirsiniz - en azından uyarı go away yapacağız ...


After that, you have a second problem : the function
bindtextdomain doesn't exist -- hence the Fatal Error that ends your script.

Bu işlev gettext extension, ben bu uzantı barındırma hizmeti etkin / yüklü olmadığını söyleyebilirim tarafından sağlanan onlardan biri olmak ...

Sen içeren bir sayfa çalıştıran kontrol edebilirsiniz:

<?php
phpinfo();
?>

Bu yüklü / etkin olan tüm uzantıları listesinde olacak; gettext onlardan biri değilse, daha ne yazık ki, yapabileceğimiz bir şey yok ...

Onlar uzantısı yüklemek böylece Histing sağlayıcısına başvurarak bir fikir olurdu ... Ama bir ücretsiz barındırma hizmeti ile, ben yardımcı olacağım şüpheliyim ... Muhtemelen başka bir barındırma hizmeti ile gitmek gerekecek (even if it costs a few dollars/euros... )