質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

6576閲覧

Laravelのエラーの理由が不明

bakaemon

総合スコア35

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

1クリップ

投稿2018/12/31 23:07

Laravel初心者です。

LaradockというLaravel用のDocker開発環境を構築したのですが、
80番ポートにアクセスすると
ErrorException (E_NOTICE) tempnam(): file created in the system's temporary directory

というメッセージが出てきます。
これは何を意味しているのでしょうか?
何かディレクトリを作ったり権限を付与すればよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こちら解決しました。
「一時ファイルを作りたいけど、作れない」
というエラーが発生していと思ったので
「もしや!」と思ってディレクトリの権限をLaravelプロジェクトに対して全部777にしたら動きました。
もちろん本当はこんな権限の持たせ方は良くないんだろうと思いますが、練習中でいろいろいじっているだけなので今回は良しとします。
ありがとうございました。

投稿2019/01/01 13:40

bakaemon

総合スコア35

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/01/01 16:09

はい。良くないですね。 ディレクトリ権限については公式ドキュメントにも言及されているはずなのでそちらに沿ってください。 今回のNoticeで指摘されている一時ディレクトリについてはそこだけのものなので特定は可能なはずです。 恐らく、開発進めていくうちに777にしたことは忘れるので今のうちに確実にしておいた方が良いです。
guest

0

ベストアンサー

メッセージ訳すと「ファイルはシステムの一時ディレクトリに作成されました」ですね。
エラーというより通知のように思います(エラーレベルもNoticeなので)

下記にいろいろとやり取りがされているみたいです。

This is not a bug - it's a feature. ;-) It is a "bugfix" that was made in PHP 7.1.0 because someone thought, that tempnam() should throw a notice, since it might use different paths for the temporary dir (which is correct). Here is the full list of changes:

http://php.net/ChangeLog-7.php#7.1.0
The bug is listed as "Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir)."
And here is the ticket:
https://bugs.php.net/bug.php?id=69489
Since this is just a notice and the function still works correctly, you can either place the "@" operator infront of the function call "@tempnam()" or set your personal temp path in your php.ini like this:
upload_tmp_dir = C:\php\temp
I'm not sure if the last one prevents PHP throwing the notice (I use PHP 7.0.9 and didn't tested it), but I think it will work.
Google翻訳そのまま:
これはバグではありません - それは機能です。 ;-)それはPHP 7.1.0で作られた "バグ修正"です。なぜなら誰かがtempnam()が一時ディレクトリに対して異なるパスを使うかもしれないので(正しい)、通知を投げるべきだと思ったからです。これが変更点の全リストです。
http://php.net/ChangeLog-7.php#7.1.0
このバグは「bug#69489を修正しました(tempnam()がtemp dirにフォールバックした場合に通知を出すはずです)」と記載されています。
そして、これがチケットです:
https://bugs.php.net/bug.php?id=69489
これは単なる通知であり、関数はまだ正常に機能するので、関数呼び出し "@tempnam()"の前に "@"演算子を配置するか、php.iniに個人用の一時パスを次のように設定できます。
upload_tmp_dir = C:\ php \ temp
最後のものがPHPが通知を投げるのを妨げるかどうかはわかりません(私はPHP 7.0.9を使用し、それをテストしませんでした)が、うまくいくと思います。

投稿2018/12/31 23:33

m.ts10806

総合スコア80888

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bakaemon

2019/01/01 00:05

たしかに、エラーレベルがNOTICEですね... Laravelが正常に構築できた場合に表示されるはずの画面が出ないのですが、それはまた別の問題なのかもしれません。ありがとうございました。
m.ts10806

2019/01/01 00:23

リンク先にあるようにPHP7.1以降の仕様なのでPHPとLaravelのバージョンによるかもしれません。 いずれも最新であるに越したことはないですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問