0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPで権限の問題でファイル読み取りがどうしても出来ないときは、shell_exec()関数でlinuxコマンドを叩いて読み取ってしまおう

Last updated at Posted at 2021-09-19

起こったこと

趣味でとある処理を自動化していて、ログも生成しているのでそれをブラウザからも見れるようにしようと思ってそのテキストファイルの読み取りのために「file_get_contents()」関数使おうとしたらなかなかうまくいかなかった件。

phpでファイルを読み込むには何通りか方法があるが、
何をやっても「permission」エラーが出る。

ググったら権限をいじったり、読み取るファイルは手動で作成したものではなくPHPプログラムから作成したものにしようなど。
いろんな記事を見たけど、何やってもダメだった。うーん、apacheのユーザーの権限もちゃんとなってるはずなんだが、、、笑
自分のサーバーのどこかがおかしいのか。。。

別にPHPの関数にこだわる必要もないかなと思って他の方法考えてみたら、
linuxコマンドからもファイルの中身見れるなって思って、phpでshell実行できることを思い出した。

関数名は、「shell_exec()」

anime-suko.php
$hoge = shell_exec("sudo cat /root/public_html/otaku.txt");
echo $hoge;

いけた。。。(ガッツポーズ淫夢くん)

あんまり無いと思うが、もしWindowsサーバーとかなら、Docs叩く。

感想

1つの方法にこだわらず、とりあえず実現したいって気持ちで方法を考えるとなんかすぐうまくいくことが多い。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?