PHPが動作する場所で【exec】関数を使う
PHPが動けばどこでも良いみたいなのでREST API練習ついででfunctions.phpに書いてみた。
コマンドは1行で書けそうだがよくわからんので分けた。
以下の記述をしてfunctions.phpを更新後、エンドポイントを叩いた後にレンタルサーバーのファイル管理で /home/ユーザー名/ドメイン名/public_html/vendor/firebase/php-jwt/ が出来ていれば成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php add_action('rest_api_init', function(){ register_rest_route('test/api', '/test',[ 'methods' => 'GET', 'callback' => 'get_test', ]); }); function get_test($request){ $cmd = 'cd /home/ユーザー名/ドメイン名/public_html/'; exec($cmd, $output, $result); $cmd1 = 'composer require firebase/php-jwt'; exec($cmd1, $output, $result); return '実行結果:'.$result; } //$outputは$cmd で指定されたコマンドの出力結果が、行ごとに配列 $output に格納 //$resultは成功で0、失敗で0以外が格納 |
自分で直接アップロードする
ローカルに落とした vendor フォルダーを public_html の下に置く
コメント