php / php/php-src

Copy() target is blank in PHP 8.3.0

Ouverte
#12,899 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.2k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

The following code:

<?php
$source = '/media/sf_source/text.txt';
$destination = '/media/sf_destination/text.txt';
copy($source, $destination);

Resulted in this output:
/media/sf_destination/text.txt is an empty 0 bytes file.

How to replicate

php is running in the guest and tries to copy a file from a shared folder to an other shared folder.
Permissions are ok on the source and destination.
I tried to activate/disable the option "Host Input/Output Caching" of VirtualBox. There is no visible impact.

Environnement

Host: Windows 10 running VirtualBox 7.0.12
Guest: Ubuntu 20.04.

Workaround
<?php
file_put_contents('/media/sf_destination/text.txt', file_get_contents('/media/sf_source/text.txt'));
Related?

https://github.com/php/php-src/issues/9656
https://github.com/php/php-src/issues/9653

PHP Version

PHP 8.3.0

Operating System

Ubuntu 20.04 + Windows 10

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’échec de copy() dans PHP 8.3.0 avec la configuration indiquée composée de Windows 10, VirtualBox 7.0.12, Ubuntu 20.04 et d’un dossier partagé. Comparez le comportement avec le contournement file_get_contents()/file_put_contents() et examinez les issues associées 9656 et 9653 ; le travail est considéré comme terminé lorsque copy() préserve de manière fiable le contenu source dans cet environnement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
operating-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.