


为什么在服务器上php里执行file_put_contents创建文件回到是false呢,文件目录已经设置为777的权限了,不解
为什么在服务器上php里执行file_put_contents创建文件返回是false呢,文件目录已经设置为777的权限了,不解
想用file_get_contents读取网络上的图片文件并由file_put_contesnts写入到服务器本地,file_get_contesnts执行没问题,可以读取信息,然后将读出的数据$data执行:
var_dump(file_put_contents($local_file_position, $data));在测试中会显示var_dump出的信息,但最后file_put_contents返回是false,不知道为什么,在网上搜说是aparche没有写权限,是这样的吗?如果是,如何设置呢?
环境:CentOS 6.5 + MySQL5.5.35 + tomcat7.0.47
------解决方案--------------------
用的是绝对路径还是相对路径?
------解决方案--------------------
先确认file_get_contents()获取的数据是否存在,数据类型是否合法。
------解决方案--------------------
估计是权限不够
echo substr(sprintf('%o', fileperms('你的目录')), -4); //看看是什么结果
------解决方案--------------------
要求能写入的话 文件所在的目录也是需要有写的权限的
比如 /home/centos/123.txt
目录home、centos也都是需要写的权限的不只是单单123.txt需要写权限
------解决方案--------------------
file_put_contents 失败时会有明确的错误信息输出
请贴出
------解决方案--------------------
提示很清楚了,
Permission denied
拒绝访问
------解决方案--------------------
你是要把文件写到 /usr/local/www/wxtest/txt 目录中
请检查目录存在且可写
------解决方案--------------------
1. 755权限指的是 rwxr-xr-x, 同组和其他用户是没有写权限的。 777才是全部用户拥有所有权限。
2. 建议使用绝对路径,写文件前在脚本内判断路径是否存在,不存在则先创建路径(目录)再写文件,这个是血淋淋的教训。
------解决方案--------------------
把/usr/local/www/wxtest/txt设成777
------解决方案--------------------
确定是对组外用户的权限是777?

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kaedah untuk menggunakan input Cina dalam CentOS termasuk: menggunakan kaedah input fcitx: pasang dan dayakan fcitx, tetapkan kekunci pintasan, tekan kekunci pintasan untuk menukar kaedah input dan masukkan pinyin untuk menjana perkataan calon. Gunakan kaedah input iBus: Pasang dan dayakan iBus, tetapkan kekunci pintasan, tekan kekunci pintasan untuk menukar kaedah input dan masukkan pinyin untuk menjana perkataan calon.

Untuk membaca fail cakera U dalam CentOS 7, anda perlu menyambungkan cakera U dahulu dan mengesahkan nama perantinya. Kemudian, gunakan langkah berikut untuk membaca fail: Lekapkan pemacu kilat USB: lekapkan /dev/sdb1 /media/sdb1 (ganti "/dev/sdb1" dengan nama peranti sebenar) Semak imbas fail pemacu kilat USB: ls /media /sdb1; cd /media /sdb1/nama fail kucing

Terdapat dua cara untuk memasukkan kuasa akar CentOS 7: gunakan arahan sudo: masukkan sudo su - dalam terminal dan masukkan kata laluan pengguna semasa. Log masuk terus sebagai pengguna root: Pilih "Lain" pada skrin log masuk, masukkan "root" dan kata laluan root. Nota: Beroperasi dengan berhati-hati dengan keistimewaan root, melaksanakan tugas dengan keistimewaan sudo dan menukar kata laluan akar dengan kerap.

Seseorang boleh menggunakan arahan scp untuk menyalin fail antara hos rangkaian dengan selamat. Ia menggunakan ssh untuk pemindahan data dan pengesahan. Sintaks biasa ialah: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp exclude files Saya rasa anda tidak boleh apabila menggunakan arahan scp Tapis atau kecualikan fail. Walau bagaimanapun, terdapat penyelesaian yang baik untuk mengecualikan fail dan menyalinnya dengan selamat menggunakan ssh. Halaman ini menerangkan cara menapis atau mengecualikan fail apabila menyalin direktori secara rekursif menggunakan scp. Cara menggunakan arahan rsync untuk mengecualikan fail Sintaksnya ialah: rsyncav-essh-

Penyelesaian untuk kata laluan CentOS yang terlupa termasuk: Mod pengguna tunggal: Masukkan mod pengguna tunggal dan tetapkan semula kata laluan menggunakan akar passwd. Mod Penyelamat: But dari CentOS Live CD/USB, lekapkan partition root dan tetapkan semula kata laluan. Akses jauh: Gunakan SSH untuk menyambung dari jauh dan menetapkan semula kata laluan dengan akar sudo passwd.

Selepas terlupa nama pengguna dan kata laluan CentOS anda, terdapat dua cara untuk memulihkan akses: Tetapkan semula kata laluan root: Mulakan semula pelayan, edit baris arahan kernel dalam menu GRUB, tambah "rw init=/sysroot/bin/sh" dan tekan Ctrl +x ;Lekapkan sistem fail akar dan tetapkan semula kata laluan dalam mod pengguna tunggal. Gunakan mod penyelamat: Mulakan pelayan daripada imej ISO pemasangan CentOS, pilih mod penyelamat lekapkan sistem fail akar, salin persekitaran chroot daripada imej ISO, tetapkan semula kata laluan, keluar dari persekitaran chroot dan mulakan semula pelayan.

CentOS 7 melumpuhkan kebenaran root secara lalai Anda boleh mendayakannya dengan mengikuti langkah berikut: Dayakan buat sementara waktu: Masukkan "su root" pada terminal dan masukkan kata laluan root. Didayakan secara kekal: Edit "/etc/ssh/sshd_config", tukar "PermitRootLogin no" kepada "yes", dan mulakan semula perkhidmatan SSH.

Tiga penyelesaian untuk kata laluan terlupa dalam CentOS 7: Mod pengguna tunggal: Mulakan semula sistem, edit pilihan kernel, tukar ro kepada rw init=/sysroot/bin/sh, dan gunakan arahan passwd untuk menetapkan semula kata laluan root. Mod penyelamat: But dari media pemasangan, pilih mod penyelamat, lekapkan sistem fail akar, chroot ke sistem fail akar, dan gunakan arahan passwd untuk menetapkan semula kata laluan root. Baris arahan Grub2: Mulakan semula sistem, tekan c untuk memasuki baris arahan, muatkan kernel, lekapkan sistem fail akar, chroot ke sistem fail akar dan gunakan arahan passwd untuk menetapkan semula kata laluan root.
