IDN Domainnamen
me-too
- codierung
- dns
- php
Hi,
wie kann ich mit PHP IDN-Domainnamen (ent)crypten?
LG me-too
Hallo,
wie kann ich mit PHP IDN-Domainnamen (ent)crypten?
hast du denn mal danach gesucht? Hier nur mal meine ersten paar Treffer:
https://www.php.net/manual/en/function.idn-to-utf8.php
http://www.zedwood.com/article/php-idn-punycode-converter
https://www.xarg.org/2008/07/punycode-with-php/
https://www.phpclasses.org/package/1509-PHP-Convert-from-and-to-IDNA-Punycode-domain-names.html
Ob und wie gut die für deine Zwecke passen, musst du selbst beurteilen.
Live long and pros healthy,
Martin
Hi Martin,
wie kann ich mit PHP IDN-Domainnamen (ent)crypten?
hast du denn mal danach gesucht? Hier nur mal meine ersten paar Treffer:
https://www.php.net/manual/en/function.idn-to-utf8.php
http://www.zedwood.com/article/php-idn-punycode-converter
https://www.xarg.org/2008/07/punycode-with-php/
https://www.phpclasses.org/package/1509-PHP-Convert-from-and-to-IDNA-Punycode-domain-names.html
Ich habe hier zum Testen PHP 7.4.5 aud dem WAMPP-Paket.
Das kennt beide Funktionen nicht, weder
Wo finde ich die Klasse?
LG
me-too
Hallo me-too,
Ich habe hier zum Testen PHP 7.4.5 aud dem WAMPP-Paket.
Das kennt beide Funktionen nicht, weder
- idn_to_ascii() noch
- idn_to_utf8()
Wo finde ich die Klasse?
Das ist Teil einer PHP-Erweiterung. Vielleicht ist die nicht geladen oder so..
Gruß
Julius
Hi,
auf unserem Online-Host (Linux)funktioniert es einwandfrei.
Auf dem dämlichen Testserver (Windows) krieg ichs grad nicht gebacken. Da fehlt mir im Moment die Ruhe. Im Manual steht doch aber nichts von pear?
Die Kiddies sind schon wieder drinnen. Nach ca. 3,5Std. heavy Sunshine gießt es jetzt endlich wie aus Eimern.
Schönes Wochenende
me-too
Hallo me-too,
auf unserem Online-Host (Linux)funktioniert es einwandfrei.
Auf dem dämlichen Testserver (Windows) krieg ichs grad nicht gebacken. Da fehlt mir im Moment die Ruhe. Im Manual steht doch aber nichts von pear?
Mit PEAR hat das erstmal nichts zu tun: Es gibt das Kern-PHP und Erweiterungen (der ganze Datenbank-Kram wie PDO sind welche). Einige sind standardmäßig aktiviert, andere nicht. Vielleicht musst du intl nur in der php.ini aktivieren, vielleicht liefert XAMPP intl auch gar nicht mit aus.
Mein Ubuntu vermeldet (offensichtlich habe ich intl mal nachinstalliert):
$ apt search php7
Sortierung... Fertig
Volltextsuche... Fertig
[…]
php7.2/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.24-0ubuntu0.18.04.6 all
server-side, HTML-embedded scripting language (metapackage)
php7.2-bcmath/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
Bcmath module for PHP
php7.2-bz2/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
bzip2 module for PHP
php7.2-cgi/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
command-line interpreter for the PHP scripting language
php7.2-common/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
documentation, examples and common module for PHP
php7.2-curl/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
CURL module for PHP
php7.2-dba/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
DBA module for PHP
php7.2-dev/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
Files for PHP7.2 module development
php7.2-enchant/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
Enchant module for PHP
php7.2-fpm/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [installiert]
GD module for PHP
php7.2-gmp/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
GMP module for PHP
php7.2-imap/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
IMAP module for PHP
php7.2-interbase/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
Interbase module for PHP
php7.2-intl/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [installiert]
Internationalisation module for PHP
php7.2-json/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
JSON module for PHP
php7.2-ldap/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
LDAP module for PHP
php7.2-mbstring/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [installiert]
MBSTRING module for PHP
php7.2-mysql/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
MySQL module for PHP
php7.2-odbc/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
ODBC module for PHP
php7.2-opcache/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
Zend OpCache module for PHP
php7.2-pgsql/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
PostgreSQL module for PHP
php7.2-phpdbg/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
pspell module for PHP
php7.2-readline/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
readline module for PHP
php7.2-recode/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
recode module for PHP
php7.2-snmp/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
SNMP module for PHP
php7.2-soap/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
SOAP module for PHP
php7.2-sqlite3/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
SQLite3 module for PHP
php7.2-sybase/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
Sybase module for PHP
php7.2-tidy/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
tidy module for PHP
php7.2-xml/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.6 amd64 [Installiert,automatisch]
DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-xmlrpc/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
XMLRPC-EPI module for PHP
php7.2-xsl/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.24-0ubuntu0.18.04.6 all
XSL module for PHP (dummy)
php7.2-zip/bionic-updates,bionic-security 7.2.24-0ubuntu0.18.04.6 amd64
Zip module for PHP
Gruß
Julius
Hallo me-too,
bis PHP 5.2 war das eine PECL Extension, seit PHP 5.3 ist es gebündelt.
In PHP/Win muss man die DLL für die INTL Erweiterung aktivieren. Suche in deiner PHP.INI nach
;extension=php_intl.dll
und nimm das Semikolon am Zeilenanfang weg, wenn da eins steht. Wenn da keins steht, hm, dann war die Erweiterung schon aktiviert und es gab einen anderen Grund, dass die Funktion nicht gefunden wurde, aber dann bin ich ausgezählt.
Als zweites solltest Du die INTL Fehlermeldungen aktivieren, zumindest auf einer Testmaschine. Suche nach [intl]
und sorge dafür, dass die Zeile
intl.error_level = E_WARNING
nicht mit einem Semikolon beginnt.
Bei mir hat diese Warning zur Erkenntnis geführt, dass ich meinen Sourcecode in UTF-8 speichern sollte (mein Simpel-Texteditor steht auf Latin-1), weil die Funktion offenbar einen UTF-8 Datenstrom erwartet. Ein in latin-1 gespeichertes idn_to_ascii("täst.de") führte ohne Warnings einfach zu einem Leerstring, und mit Warnings zur Fehlermeldung, dass er den Input nicht nach UTF-16 konvertieren könnte.
Möglicherweise kann man mit mb_... Funktionen etwas hexen und den Code als latin-1 gespeichert lassen, aber Speicherung als UTF-8 ist sicherlich die bessere Lösung.
Rolf
Hi Rolf,
bis PHP 5.2 war das eine PECL Extension, seit PHP 5.3 ist es gebündelt.
In PHP/Win muss man die DLL für die INTL Erweiterung aktivieren. Suche in deiner PHP.INI nach
;extension=php_intl.dll
heißt nur:
extension=intl
intl.error_level = E_WARNING
Das passte so.
Kaum macht mans richtig, schon funktionierts :-)
Die Sonne scheint wieder!
LG
me-too
Hallo me-too,
okaaaay.... welche PHP Version ist das?
Ich habe auf meinem Spiel-PC noch ein 7.1 rum liegen und da muss ich php_intl.dll angeben. extension=intl funktioniert nicht.
Rolf
Hi Rolf,
okaaaay.... welche PHP Version ist das?
PHP 7.4.5 aus dem WAMPP-Paket.
Ich habe das nur am Anfang des C-Alarms auf die Schnelle installiert.
Eigentlich mag ich keine Webentwicklung auf Windowshosts.
Ich habe auf meinem Spiel-PC noch ein 7.1 rum liegen und da muss ich php_intl.dll angeben. extension=intl funktioniert nicht.
Ist das ein Einzelpaket oder auch ein WAMPP?
LG
me-too
Hallo me-too,
habe mir PHP und MySQL einzeln installiert. Da weiß ich wenigstens was passiert - das eine mal, wo ich mir ein WAMPP installiert habe, war ich völlig verwirrt (ist aber auch schon > 10 Jahre her). Als Webserver nehme ich den Windows IIS, da brauch ich keinen Winnetou für, und FastCGI kann der auch.
Habe mir jetzt mal PHP 7.4 runtergeladen - ja, da scheint es eine grundsätzliche Änderung im extension-Namingkonzept gegeben zu haben.
Für echte HTML-Applikationen nehme ich dann nach dem Willen meines Brötchengebers den Profi-IIS, MS SQL Server und ASP.NET mit C#.
Rolf
Habe mir jetzt mal PHP 7.4 runtergeladen - ja, da scheint es eine grundsätzliche Änderung im extension-Namingkonzept gegeben zu haben.
Genauer gesagt in PHP 7.2
https://www.php.net/manual/de/install.pecl.windows.php
behauptet:
; On PHP version 7.2 and up, prefer :
extension=extname
zend_extension=another_extension
das eine mal, wo ich mir ein WAMPP installiert habe, war ich völlig verwirrt (ist aber auch schon > 10 Jahre her).
Ich lehne die Nutzung der verschiedenen Windows-Stacks für Apache/PHP/Perl/[MySQL/Maria]-DB auch als Testsystem inzwischen vollständig ab.
Gründe:
Dass es den Apache von Apache.org nicht mehr als Binary für Windows gibt ergibt für mich, dass der Hersteller selbst auf Windows nicht unbedingt Rücksicht nimmt.
Die Anbieter der Windows-Stacks liefern jeweils eigene Konfigurationen, die sich teilweise von der Original-Konfiguartion stark unterscheiden.
Das gilt auch für Teile der "Stacks" insbesondere für z.B. PHP.
Aus 2. und 3. folgt für mich, dass die Aussagen von Tests auf einem WAMPP-System für den Betrieb der selben Applikationen auf einem LAMPP-System nur begrenzt Gültigkeit haben. Da sollte man also, statt mehrfach zu testen, gleich ein Testsystem haben, auf dem die Vergleichbarkeit mit dem Zielsystem übersehbar bzw. herstellbar ist.
Hallo Raktentester,
Die Anbieter der Windows-Stacks liefern jeweils eigene Konfigurationen, die sich teilweise von der Original-Konfiguartion stark unterscheiden.
Was mich damals ja auch so verwirrt hat. Bei Fertigsuppen muss man immer genau aufpassen, was reingerührt wurde.
Mein Bastelstack ist WISC oder WIMP, zum Spielen reicht das.
Rolf
Grundlage für Zitat #2538.