Wissensdatenbank
1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Diese Anleitung bezieht sich auf die ODBC-Funktionen von PHP.
Die ODBC-Funktionen von PHP werden nur auf Serveur Cloud unterstĂŒtzt.
Open Database Connectivity Funktionen
Dabei handelt es sich um Funktionen, die zur Interaktion mit Datenbanken ĂŒber die ODBC-Schnittstelle (Open Database Connectivity) verwendet werden, einen Standard zum einheitlichen Zugriff auf Datenquellen. Hier sind einige Beispiele fĂŒr die Verwendung der ODBC-Funktionen von PHP:
- Daten aus einer externen Datenbank lesen und auf Ihrer Website anzeigen
- Daten in eine externe Datenbank einfĂŒgen oder Ă€ndern
- Komplexe Abfragen an einer externen Datenbank durchfĂŒhren
Dieser Leitfaden erklÀrt, wie man ohne das Modul PECL SSH2 client
, das auf den Webhostings und Cloud-Servern von Infomaniak nicht verfĂŒgbar ist, arbeitet, indem man stattdessen die Bibliothek phpseclib
verwendet, die in nativem PHP funktioniert und keine spezielle Erweiterung erfordert.
Vorwort
- Die Verwendung von
PECL SSH2 client
fĂŒhrt zu Fehlern wieNo compatible key exchange algorithms found
oderUnable to exchange encryption keys
in der letzten verfĂŒgbaren Version. Phpseclib
ermöglicht:- Die SSH-Authentifizierung per Passwort oder privatem SchlĂŒssel.
- Die AusfĂŒhrung von Fernbefehlen.
- Den sicheren Dateitransfer (SFTP).
- Das Management von SSH-SchlĂŒsseln.
phpseclib verwenden
Um eine SSH-Verbindung in ein PHP-Skript zu integrieren, verwenden Sie phpseclib
wie folgt:
use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;
$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));
if (!$ssh->login('utilisateur', $key)) {
exit('Authentication Failed');
}
echo $ssh->exec('ls -la');
Infomaniak fĂŒhrt keine Sicherungen der VPS Cloud / VPS Lite durch.
Sie können dennochâŠ
- ⊠ein Snapshot des Servers erstellen (Sicherung nicht automatisiert)
- ⊠den Server auf Swiss Backup sichern (Sicherung automatisiert)
Dieser Leitfaden hilft Ihnen beispielsweise, wenn Sie ein Paket wie pymysql
bereitstellen möchten und dieses eine höhere Python-Version als die auf Ihrem Hosting angebotene erfordert.
Vorbemerkung
- Anaconda ist eine freie und Open-Source-Distribution der Programmiersprache Python. Diese Distribution zielt darauf ab, die Verwaltung von Paketen und den Einsatz zu vereinfachen.
- Es wird empfohlen, conda zu verwenden, das mit einer aktuellen Version von Python geliefert wird und sich im Benutzerbereich installiert, sodass es zu keinen Konflikten mit dem System-Python kommt (wie in einer virtuellen Umgebung, die immer eine Systeminstallation der gewĂŒnschten Version erfordert).
- Nehmen Sie die offizielle Dokumentation zur Kenntnis.
â ïž FĂŒr zusĂ€tzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung â erfahren Sie auch mehr ĂŒber die Rolle des Hosters.
Installer herunterladen
uid165116@od-12345:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
--2021-07-28 18:21:10-- https://repo.anaconda.com/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
Resolving repo.anaconda.com (repo.anaconda.com)... 2606:4700::6810:8303, 2606:4700::6810:8203, 104.16.131.3, ...
Connecting to repo.anaconda.com (repo.anaconda.com)|2606:4700::6810:8303|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 89026327 (85M) [application/x-sh]
Saving to: âMiniconda3-py37_4.10.3-Linux-x86_64.shâ
Miniconda3-py37_4.10.3-Linux-x86_64.sh 100% [==============================================>] 84.90M 203MB/s in 0.4s
18:21:11 (100 MB/s) - âMiniconda3-py37_4.10.3-Linux-x86_64.shâ saved [89026327/89026327]
Die PrĂŒfsumme ĂŒberprĂŒfen
uid165116@od-12345:~$ test $(md5sum Miniconda3-py37_4.10.3-Linux-x86_64.sh | awk '{print $1}') == "9f186c1d86c266acc47dbc1603f0e2ed" && echo "OK"
OK
Installation starten
uid165116@od-12345:~$ bash Miniconda3-py37_4.10.3-Linux-x86_64.sh -b
PREFIX=/home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/clients/fc84cbbf6dcbd6dd76b15d3e56c1789f/miniconda3
added / updated specs:
- _libgcc_mutex==0.1=main
- _openmp_mutex==4.5=1_gnu
- brotlipy==0.7.0=py37h27cfd23_1003
- ca-certificates==2021.7.5=h06a4308_1
- certifi==2021.5.30=py37h06a4308_0
- cffi==1.14.6=py37h400218f_0
- chardet==4.0.0=py37h06a4308_1003
- conda-package-handling==1.7.3=py37h27cfd23_1
- conda==4.10.3=py37h06a4308_0
- cryptography==3.4.7=py37hd23ed53_0
- idna==2.10=pyhd3eb1b0_0
- ld_impl_linux-64==2.35.1=h7274673_9
- libffi==3.3=he6710b0_2
- libgcc-ng==9.3.0=h5101ec6_17
- libgomp==9.3.0=h5101ec6_17
- libstdcxx-ng==9.3.0=hd4cf53a_17
- ncurses==6.2=he6710b0_1
- openssl==1.1.1k=h27cfd23_0
- pip==21.1.3=py37h06a4308_0
- pycosat==0.6.3=py37h27cfd23_0
- pycparser==2.20=py_2
- pyopenssl==20.0.1=pyhd3eb1b0_1
- pysocks==1.7.1=py37_1
- python==3.7.10=h12debd9_4
- readline==8.1=h27cfd23_0
- requests==2.25.1=pyhd3eb1b0_0
- ruamel_yaml==0.15.100=py37h27cfd23_0
- setuptools==52.0.0=py37h06a4308_0
- six==1.16.0=pyhd3eb1b0_0
- sqlite==3.36.0=hc218d9a_0
- tk==8.6.10=hbc83047_0
- tqdm==4.61.2=pyhd3eb1b0_1
- urllib3==1.26.6=pyhd3eb1b0_1
- wheel==0.36.2=pyhd3eb1b0_0
- xz==5.2.5=h7b6447c_0
- yaml==0.2.5=h7b6447c_0
- zlib==1.2.11=h7b6447c_3
The following NEW packages will be INSTALLED:
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu
brotlipy pkgs/main/linux-64::brotlipy-0.7.0-py37h27cfd23_1003
ca-certificates pkgs/main/linux-64::ca-certificates-2021.7.5-h06a4308_1
certifi pkgs/main/linux-64::certifi-2021.5.30-py37h06a4308_0
cffi pkgs/main/linux-64::cffi-1.14.6-py37h400218f_0
chardet pkgs/main/linux-64::chardet-4.0.0-py37h06a4308_1003
conda pkgs/main/linux-64::conda-4.10.3-py37h06a4308_0
conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.7.3-py37h27cfd23_1
cryptography pkgs/main/linux-64::cryptography-3.4.7-py37hd23ed53_0
idna pkgs/main/noarch::idna-2.10-pyhd3eb1b0_0
ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9
libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17
libgomp pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17
ncurses pkgs/main/linux-64::ncurses-6.2-he6710b0_1
openssl pkgs/main/linux-64::openssl-1.1.1k-h27cfd23_0
pip pkgs/main/linux-64::pip-21.1.3-py37h06a4308_0
pycosat pkgs/main/linux-64::pycosat-0.6.3-py37h27cfd23_0
pycparser pkgs/main/noarch::pycparser-2.20-py_2
pyopenssl pkgs/main/noarch::pyopenssl-20.0.1-pyhd3eb1b0_1
pysocks pkgs/main/linux-64::pysocks-1.7.1-py37_1
python pkgs/main/linux-64::python-3.7.10-h12debd9_4
readline pkgs/main/linux-64::readline-8.1-h27cfd23_0
requests pkgs/main/noarch::requests-2.25.1-pyhd3eb1b0_0
ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.100-py37h27cfd23_0
setuptools pkgs/main/linux-64::setuptools-52.0.0-py37h06a4308_0
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
sqlite pkgs/main/linux-64::sqlite-3.36.0-hc218d9a_0
tk pkgs/main/linux-64::tk-8.6.10-hbc83047_0
tqdm pkgs/main/noarch::tqdm-4.61.2-pyhd3eb1b0_1
urllib3 pkgs/main/noarch::urllib3-1.26.6-pyhd3eb1b0_1
wheel pkgs/main/noarch::wheel-0.36.2-pyhd3eb1b0_0
xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
yaml pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0
zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
Preparing transaction: done
Executing transaction: done
installation finished.
Conda starten
uid165116@od-12345:~$ source <(~/miniconda3/bin/conda shell.bash hook)
pymysql installieren (zum Beispiel)
(base) uid165116@od-12345:~$ python3 -V
Python 3.7.10
(base) uid165116@od-12345:~$ pip3 install pymysql --user
Collecting pymysql
Downloading PyMySQL-1.0.2-py3-none-any.whl (43 kB)
|ââââââââââââââââââââââââââââââââ| 43 kB 892 kB/s
Installing collected packages: pymysql
Successfully installed pymysql-1.0.2
Diese Anleitung erklĂ€rt, wie Sie eine Datei angeben, die vor der gewĂŒnschten Seite oder zu Beginn jedes auf Ihrem Server ausgefĂŒhrten PHP-Skripts geladen wird, als ob sie mit der Funktion require()
aufgerufen wurde, aber globaler mit der PHP-Direktive auto_prepend_file
.
Vorbemerkung
- Um beispielsweise die Header einer Website zu deklarieren, können Sie eine Datei
headers.php
erstellen, die PHP-Funktionenheader()
enthĂ€lt und die am Anfang jeder PHP-Datei eingefĂŒgt wirdâŠ- âŠ ĂŒber eine Datei
.user.ini
(ordnerspezifisch), - ⊠oder ĂŒber die Konfiguration der Website im Manager (global), wie unten beschrieben.
- âŠ ĂŒber eine Datei
Eine Datei global vom Manager aus einbinden
Um auf die Verwaltung der Website zuzugreifen:
- Klicken Sie hier, um auf die Verwaltung Ihres Produkts im Infomaniak Manager zuzugreifen (Hilfe benötigen?).
- Klicken Sie direkt auf den Name des betreffenden Produkts:
- Klicken Sie auf Verwalten unter Erweiterte Einstellungen:
- Klicken Sie auf die Registerkarte PHP / Apache.
- FĂŒllen Sie die betreffende Zeile aus, indem Sie den Pfad zur einzufĂŒgenden Datei eingeben.
- Klicken Sie auf die SchaltflÀche zum Speichern:
Nach der Definition dieser Direktive werden alle PHP-Seiten auf Ihrem Server automatisch die angegebene Datei einbinden, bevor sie ihren eigenen Code ausfĂŒhren.
Die in einer Datei .htaccess
definierten Header gelten nur fĂŒr nicht-PHP-Inhalte (also statische Inhalte).
Infomaniak verwendet php-fpm
, das die verschiedenen Header ĂŒber apache fast_cgi
empfÀngt. In der RFC von cgi_www gehört der Header Strict-Transport-Security
nicht zu den ĂŒber CGI ĂŒbermittelten Headern, und die Apache-Dokumentation bestĂ€tigt dies. Nehmen Sie sich diese andere RFC zur Kenntnis.
â ïž FĂŒr zusĂ€tzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung â erfahren Sie auch die Rolle des Hosters.
Die Infomaniak-Infrastruktur ĂŒbertrĂ€gt keine Virtualisierungsanweisungen an die VPS Cloud / VPS Lite; es ist daher keine verschachtelte Virtualisierung möglich (Virtualisierung, die innerhalb einer bereits virtualisierten Umgebung ablaufen wĂŒrde), da dies insbesondere bei Live-Migrationen zu Problemen fĂŒhrt.
Dieser Leitfaden befasst sich mit der Erstellung privater Netzwerke zwischen verschiedenen Infomaniak-Hosting-Angeboten wie VPS Cloud / VPS Lite, Public Cloud, NAS Synology, etc.
Ein VLAN zwischen VPS erstellen
Es ist nicht möglich, ein privates Netzwerk (VLAN) zwischen VPS Cloud / VPS Lite und anderen Produkten, wie z.B. NAS Synology, zu erstellen, da sie in verschiedenen Netzwerken installiert sind.
Es ist jedoch möglich, ein VLAN zwischen mindestens 10 VPS Cloud / VPS Lite zu erstellen, die Ihnen gehören (kontaktieren Sie den Infomaniak-Support), jedoch kann ein dediziertes privates Netzwerk nicht mit einem anderen kommunizieren.
Es wird empfohlen, auf das Angebot Public Cloud zu migrieren, um solche privaten Netzwerke zwischen VM zu erstellen.
Diese Anleitung bezieht sich auf die Installation von PHP-Erweiterungen fĂŒr Webhosting Infomaniak.
Verwendung von Zend PHP-Erweiterungen
- Zend Guard Loader ist eine PHP-Erweiterung, die es ermöglicht, ĂŒber Zend Guard verschlĂŒsselte PHP-Skripte auszufĂŒhren.
- Zend Guard Loader ist standardmĂ€Ăig fĂŒr PHP <= 5.6 auf allen Webhostings installiert und fĂŒr PHP-Versionen >= 5.6 nicht verfĂŒgbar.
- Seit PHP 5.3.x wurde das Modul Zend Optimizer durch ZendGuardLoader ersetzt
- Das ZendOPCache Modul erfordert einen Serveur Cloud konfiguriert mit PHP 5.5 mindestens
Um Perl
-Module auf einem Serveur Cloud Infomaniak zu verwenden, mĂŒssen sie im Benutzerverzeichnis installiert und der vollstĂ€ndige Pfad in den Skripten definiert werden.
Sie können Ihre Module somit frei installieren und aktualisieren.
Diese Anleitung bezieht sich auf Redis
, ein PHP-Modul fĂŒr Serveur Cloud Infomaniak.
Vorbemerkung
Redis
wird mit PHP verwendet, um die Leistung zu beschleunigen, indem es als Cache fĂŒr temporĂ€re Daten dient und Benutzersitzungen verwaltet, wodurch die Effizienz von Webanwendungen verbessert wird.Redis
ermöglicht auch die Einrichtung von Warteschlangensystemen und die temporĂ€re Speicherung von Daten fĂŒr asynchrone Aufgaben oder Statistiken.
Redis installieren
Redis
wird ĂŒber Fast Installer installiert, die Anwendungen sind in wenigen Klicks auf Serveur Cloud verfĂŒgbar:
- Nach der Installation ist
Redis
ĂŒber die IP/den Portlocalhost:6379
oder127.0.0.1:6379
erreichbar - Das Passwort fĂŒr
Redis
muss zwischen 15 und 99 Zeichen (einschlieĂlich) lang sein.