Si vous créez un volume VeraCrypt conséquent sur une clé USB, l'erreur suivante peut apparaitre :
"Resource temporarily unavailable: VeraCrypt::File::Write:340"
Aller au contenu | Aller au menu | Aller à la recherche
17 mars 2021
Par Maxime Pinot le 17 mars 2021, 18h55
Si vous créez un volume VeraCrypt conséquent sur une clé USB, l'erreur suivante peut apparaitre :
"Resource temporarily unavailable: VeraCrypt::File::Write:340"
16 novembre 2020
Par Maxime Pinot le 16 novembre 2020, 09h21
Si vous utilisez IIS, vous rencontrez peut-être un problème de droit d'accès aux fichiers uploadés par PHP.
Aucun problème pour ajouter un fichier (via la fonction PHP move_uploaded_file ou via UploadedFile::move si vous utilisez Symfony), mais lorsque vous voulez copier (fonction PHP copy) ou déplacer (fonction PHP rename) le fichier en question, vous rencontrez une erreur "Accès refusé" ("Permission denied"). Pourtant, le fichier a bien été ajouté sur votre serveur !
Le problème vient de l'héritage des permissions du dossier temporaire d'upload.
Lorsque vous uploadez un fichier avec PHP, celui-ci le place dans un dossier temporaire et le déplace ensuite dans le dossier final (le dossier que vous choisi lorsque vous appelez la fonction move_uploaded_file). Quand le fichier est placé dans le dossier temporaire, il se voit attribuer les autorisations de ce dossier temporaire. Ces autorisations ne changent pas, même après le déplacement vers le dossier final.
Comment je trouve le dossier temporaire d'upload ?
Le dossier temporaire d'upload est défini dans le fichier de configuration php.ini, sous la directive upload_tmp_dir.
Par défaut : C:\Windows\Temp (vous pouvez le vérifier avec phpinfo)
Si vous faite un clic droit sur ce dossier, puis "Propriétés", vous devriez voir dans l'onglet "Sécurité" le message suivant :
Vous devez disposer d'autorisations d'accès en lecture pour afficher les propriétés de cet objet.
Cliquez sur Avancé pour continuer.
Il faut ajouter le groupe ou le compte utilisateur utilisé par IIS (généralement IIS_IUSRS par défaut).
Pour trouver le groupe ou le compte utilisateur utilisé, rendez-vous dans le gestionnaire des services Internet (IIS) : Gestionnaire des services Internet (IIS) > Pools d'application > Colonne "Identité"
20 décembre 2019
Par Maxime Pinot le 20 décembre 2019, 08h58
La dernière version de PHP n'est souvent pas disponible immédiatement dans les dépôts d'Ubuntu. Encore moins sous Ubuntu sur Windows (WSL: Windows Subsytem for Linux) où la version installée est souvent la version LTS (Long Term Support).
Pour installer la dernière version de PHP, il faut passer par le dépôt ondrej/php.
Rien de compliqué, exécutons simplement la commande suivante:
$ sudo add-apt-repository ppa:ondrej/php
Si le dépôt s'est correctement ajouté, vous avez de la chance ! Vous pouvez vous rendre directement à la partie "Installation de PHP".
Si vous rencontrez l'erreur ci-dessous, il faut ajouter le dépôt manuellement.
Cannot add PPA: 'ppa:~ondrej/ubuntu/php'. ERROR: '~ondrej' user or team does not exist.
Il faut modifier le fichier /etc/apt/sources.list.
$ sudo vim /etc/apt/sources.list
Ajoutez les deux lignes suivantes à la fin du fichier:
deb http://ppa.launchpad.net/ondrej/php/ubuntu bionic main deb-src http://ppa.launchpad.net/ondrej/php/ubuntu bionic main
Remarque: ces deux lignes sont à utiliser si vous utilisez Ubuntu 18.04 (Bionic) ou Ubuntu 18.10 LTS. Remplacez "bionic" par le nom de votre version Ubuntu. Il suffit de regarder dans les lignes déjà existantes du fichier /etc/apt/sources.list.
Sauvegardez la modification du fichier (:wq sur vim) et rafraichissez les dépôts:
$ sudo apt-get update
Encore une erreur !!
Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease Get:1 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease [20.8 kB] Err:1 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F4EA0AAE5267A6C
Pour résoudre ce problème, exécutez la commande suivante:
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C
Vous remarquerez que le dernier paramètre de la commande correspond à la clé présente dans le message d'erreur (4F4EA0AAE5267A6C). Il faut donc modifier la commande en conséquence si votre message d'erreur contient une clé différente.
Si vous souhaitez plus d'informations sur ce problème, consultez cet article (en anglais): Fix apt-get update “the following signatures couldn’t be verified because the public key is not available”.
Une fois cette commande exécutée, rafraichissez une nouvelle fois les dépôts:
$ sudo apt-get update
Pour installer la dernière version de PHP (7.4 au moment où j'écris cet article), exécutez la commande suivante:
$ sudo apt-get install php7.4
Grâce au dépôt "ondrej/php", vous pouvez installer n'importe quelle version que vous souhaitez :
$ sudo apt-get install php7.3 $ sudo apt-get install php7.2 $ sudo apt-get install php7.1
Et voilà ! Vous pouvez vérifier la version de PHP avec la commande:
$ php -v PHP 7.4.0 (cli) (built: Nov 28 2019 07:27:06) ( NTS )