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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

1701閲覧

CakePHP3からrmコマンドを実行したら警告エラーが出てファイルが削除されない

yoshi7

総合スコア48

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2017/11/10 07:51

編集2017/11/10 07:52

下記のコマンドをCakePHP3で実行しています。

PHP

1exec('rm -f ' . $fileName); 2

ファイルのサイズが小さい時は問題なく削除できるのですが、
ある程度大きくなると警告エラーが出てファイルが削除されません。
下記がその時のログです。

Warning: Warning (2): exec(): Unable to fork [rm -f /var/www/html/csv/test.csv] in [/var/www/html/app/src/Shell/TestShell.php, line 75] Trace: Cake\Error\BaseErrorHandler::handleError() - CORE/src/Error/BaseErrorHandler.php, line 153 exec - [internal], line ?? App\Shell\TestShell::getCsvForTest() - APP/Shell/TestShell.php, line 975 Cake\Console\Shell::runCommand() - CORE/src/Console/Shell.php, line 487 Cake\Console\CommandRunner::run() - CORE/src/Console/CommandRunner.php, line 141 [main] - ROOT/bin/cake.php, line 12

何が原因でしょうか?

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

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

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

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

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

guest

回答2

0

自己解決

すごく単純な誤りでした。
ファイルがある途中のフォルダの1つに書き込み権限がないことが判明しました。
お騒がせしました。。。

投稿2017/11/30 17:31

yoshi7

総合スコア48

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

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

0

恐らく以下の質問のような状況だと思います。セキュリティー上の理由から max user process に上限が設けられているため、rm プロセスが作成できなくなっている可能性があるとのことです。

centos - PHP Warning: exec() unable to fork - Stack Overflow

投稿2017/11/11 06:41

chitoku

総合スコア1610

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

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

yoshi7

2017/11/11 16:26

回答ありがとうございました。 max user processの上限を2倍にしてみましたが、結果は変わらずでした。 尚、当初からですが、PHPを介さず、 直接コマンドラインから同じrmコマンドを実行するとちゃんと消せます。
chitoku

2017/11/12 06:28

別の回答にメモリ使用量が問題だったという話もあるので確認してみると良いかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問