Saya cuba mencipta fail menggunakan PHP tetapi ia tidak berfungsi. Saya mengandaikan ini kerana ia tidak mempunyai akses tulis (pernah menjadi masalah ini sebelum ini). Saya cuba menguji sama ada ini adalah masalah oleh chmod 0777 folder, tetapi ini akhirnya menyebabkan setiap skrip dalam direktori itu mengembalikan mesej ralat 500 sehingga saya menukarnya kembali. Bagaimanakah saya boleh memberikan akses tulis PHP kepada sistem fail saya supaya ia boleh mencipta fail?
EDIT: Ia dihoskan pada pengehosan kongsi Hostgator menggunakan Apache.
Edit 2: Seseorang bertanya tentang kod: Kod tersebut ialah skrip imej GD. Saya tahu selebihnya berfungsi seperti sebelum ini apabila saya mencipta imej setiap kali saya memanggilnya. Sekarang saya cuba menciptanya apabila menambah teks baharu dan menyimpannya ke dalam folder. Garis tulis saya ialah: imagejpeg(null,$file,85);
Saya juga mencipta fail ujian untuk menyemak sama ada ia hanya skrip yang rosak (kebanyakannya disalin daripada tizag): http://gearboxshow.info/rkr/lesig.jpg/testfile.txt (Saya tidak tahu sama ada/bagaimana untuk menghantar kod di sini dengan betul. Ini adalah kandungan skrip PHP, tolak tag PHP.) < /p>
Ia mengembalikan 13,13,1 (baris berasingan), jadi ia kelihatan seperti ia menulis sesuatu, tetapi testfile.txt kosong (saya memuat naik yang kosong), atau tidak wujud (jika saya memadamkan ia)).
Edit 3: Pelayan sedang menjalankan CentOS.
Penyelesaian tiga langkah mudah
Langkah 1: Kenal pasti Pengguna PHP
Buat fail PHP dengan kandungan berikut:
Muat naik ke pelayan web anda. Output sepatutnya menyerupai yang berikut:
Jadi, pengguna PHP adalah
www-data
.Langkah 2: Tentukan Pemilik Direktori
Seterusnya, semak butiran direktori web melalui baris arahan:
Hasilnya sepatutnya kelihatan seperti berikut:
Oleh itu, pemilik direktori ini ialah
exampleuser1
.Langkah 3: Tukar Pemilik Direktori kepada Pengguna PHP
Kemudian, tukar pemilik direktori web kepada pengguna PHP:
Sahkan bahawa pemilik direktori web telah berubah:
Hasilnya sepatutnya kelihatan seperti berikut:
Pada ketika ini, pemilik
example-folder
telah berjaya ditukar kepada pengguna PHP:example-folder
的所有者已成功更改为 PHP 用户:www-data
.Selesai! PHP kini sepatutnya boleh menulis ke direktori.
Cara mudah ialah membenarkan PHP mencipta direktori itu sendiri terlebih dahulu.