php / php/php-src

Copy() target is blank in PHP 8.3.0

Aperta
#12,899 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Bug Status: Needs Triage
Lingua principale
C
Stelle
40.4k
Fork
8.2k
Merge medio
2g 13h
PR unite (30g)
96

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il fallimento di copy() in PHP 8.3.0 con la configurazione indicata composta da Windows 10, VirtualBox 7.0.12, Ubuntu 20.04 e una cartella condivisa. Confronta il comportamento con la soluzione alternativa file_get_contents()/file_put_contents() e analizza le issue correlate 9656 e 9653; il lavoro è completo quando copy() preserva in modo affidabile il contenuto sorgente in questo ambiente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
php
Ambito
operating-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.