###前提・実現したいこと
PHPで作成したBOTをMacのローカル環境で定期実行をしたいが、launchdで動かすとPermission deniedでエラーとなる
###発生している問題・エラーメッセージ
テスト用にテキストファイルを書き出すスクリプト(index.php)を作成しました。
ターミナルで手動で正常動作を確認した上で、
launchdを使用して定期実行を試したところ動作せず、下記のエラーが出て困っています。
エラーメッセージ
Warning: file_put_contents(phpOutput.txt): failed to open stream: Permission denied in /Applications/MAMP/htdocs/hoge/index.php on line 5
ご回答の程、よろしくお願いいたします。
###該当のソースコード
[PHP]
[plist]
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>phpTest</string> <key>ProgramArguments</key> <array> <string>/Applications/MAMP/bin/php/php7.1.6/bin/php</string> <string>/Applications/MAMP/htdocs/hoge/index.php</string> </array> <key>StartInterval</key> <integer>15</integer> <key>StandardOutPath</key> <string>/Applications/MAMP/htdocs/hoge/output.txt</string> <key>StandardErrorPath</key> <string>/Applications/MAMP/htdocs/hoge/error.txt</string> </dict> </plist>###試したこと
[動作の確認]
・設定した間隔(15秒)毎に、(Warning: file_put_contents(phpOutput.txt): failed to open stream: Permission denied in )が表示される
・ブラウザとターミナルからindex.phpを実行→正常動作
・よって、launchdは定期実行しようとしているが、アクセス権限の不備で動作していない
[/htdocs/hoge/配下の権限の確認]
・/Applications/MAMP/htdocs/hoge/配下のpermissionは(755)だった
・phpOutput.txtのpermissionをchmodで666に変更
→エラーの状態変わらず
[launchdをrootで実行]
・sudo luanchctl load hoge.plistを実行。(Path had bad ownership/permissions)とエラーが出たため、ownerとgroupを、admin,staff→root,wheelに変更
・sudo luanchctl load hoge.plistを実行。実行エラーは出なくなったが、index.phpは動作せず。←今ここ
###補足情報(言語/FW/ツール等のバージョンなど)
・使用環境:MacOS Sierra バージョン 10.12.6
・使用言語:PHP 7.1.6
・hoge.plistの配置場所:/Library/LaunchAgents/hoge.plist/Applications/MAMP/htdocs/hoge/index.php
・index.phpの配置場所:

回答1件
あなたの回答
tips
プレビュー