ホームページ >バックエンド開発 >PHPチュートリアル >サーバーが chmod() を無効にしています。解決するにはどうすればよいですか?

サーバーが chmod() を無効にしています。解決するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 13:35:111491ブラウズ

chmod() 関数がサーバー上で無効になっています
アップロードされたファイルを読み取る権限すらありません
サーバーの設定が変更されていないと仮定して、プログラムに解決策はありますか


ディスカッションに返信(解決策)

サーバー管理者に連絡し、Web サイトのプログラム ディレクトリに関連する権限を個別に設定してください

上の階の文章を読みすぎたに違いありません
私が聞きたいのは、プログラムに解決策はありますかということです

アップロードのデフォルトの権限ファイルは Apache、通常は www-data 所有者です。
phpinfo(); をチェックして disable_functions に chmod があるかどうかを確認します。ある場合はブロックされます。
chmod が disable_functions にない場合、シールドがないことを意味し、使用できるはずです。

www-data にファイルをアップロードするとき、あなたは所有者であり、許可がないことは不可能です。
少なくともphpには読み取りと書き込みの権限があります。

www-data にファイルをアップロードするとき、あなたは所有者であり、許可がないことは不可能です。
少なくともphpには読み取りと書き込みの権限があります。



1. chmod() は無効です
2. ファイルがアップロードされた後の権限は以下のようになります: (権限があると表示される場合は、私の PHP コードに何か問題がありますか?)

できませんオーナーは?
誰が所有しているか見てみましょう?

ブラウザがアクセスしたときに正常に閲覧できるようにするための最低限の権限設定は何ですか?

テスト中にウィンドウの下にアップロードされた画像は、Linux に配置された後、-rw-r--r-- 権限を持ちます
これには通常どおりアクセスできます

画像ディレクトリの権限を表示および変更するには、ftp ソフトウェアを使用します

FTP ソフトウェアを使用します 画像ディレクトリの権限を表示および変更します


画像は以前 755 でしたが、777 に変更しても機能しません
アップロードされた画像ファイルの権限はすべて -rw----- です--

666 に変更します

666 に変更します


666 に変更しても機能しません。問題はファイルのパーミッションです
9月2日以前はwin環境でアップロードされており問題ありませんでした。
5日以降はLinuxスペースにアップロードされ、読み取り権限がありませんでした。さらに、Linux で PHP ファイルをアップロードする場合、デフォルトは -rw----------? です。

オーナーは誰ですか?

オーナーは誰ですか?

所有者に会うために Linux システムに入らなければなりませんか?

通常の状況では、アップロードされたファイルの所有者は誰ですか?

/** 获取文件或文件夹的拥有者,组用户,及权限 * @param  String $filename * @return Array */  function file_attribute($filename){        if(!file_exists($filename)){          return false;      }        $owner = posix_getpwuid(fileowner($filename));      $group = posix_getpwuid(filegroup($filename));      $perms = substr(sprintf('%o',fileperms($filename)),-4);        $ret = array(          'owner' => $owner['name'],          'group' => $group['name'],          'perms' => $perms      );        return $ret;    } 

/** 获取文件或文件夹的拥有者,组用户,及权限 * @param  String $filename * @return Array */  function file_attribute($filename){        if(!file_exists($filename)){          return false;      }        $owner = posix_getpwuid(fileowner($filename));      $group = posix_getpwuid(filegroup($filename));      $perms = substr(sprintf('%o',fileperms($filename)),-4);        $ret = array(          'owner' => $owner['name'],          'group' => $group['name'],          'perms' => $perms      );        return $ret;    } 

さすが Wanwang です

警告: posix_getpwuid() はセキュリティ上の理由から ...... で無効になっています。 ... .
Array ( [owner] => [group] => [perms] => -600 )


シールドはたくさんあります。

制限は 600 です。ファイルをダウンロードします。おかしいですね。

まだ完了していません。警告が表示されます: /data/home/qyu1297580001/htdocs/product/admin/func/upload.inc.php の 66 行目で、セキュリティ上の理由から chmod() が無効になっています

この解決策は OK です

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。