コーポレートサイトの改修で急遽PHPを使用しています。
PHPの経験が浅く、アドバイスを頂きたいです。
問い合わせフォームの内容をBigQueryにinsertするために以下のcomposer.jsonファイルを用意し、ライブラリをcomposertからインストールしました。
{ "require": { "google/cloud": "^0.13.0", "google/apiclient": "^2.0" } }
その後、サイトを表示すると
{ "require": { "google/cloud": "^0.13.0", "google/apiclient": "^2.0" } } invalid: no such field.
とサイトの上部(PHPタグをHTMLより上に置いてるため)に表示されます。
こちらは表示されてるライブラリがうまくインストールされてない場合に出る物なのでしょうか??
それとも、composerファイルの読み込みを間違えてる可能性があるのでしょうか??
composer install後に作成されるcomposer_lockには上記二つのライブラリーの情報が記載されています。
かなり初歩的で大変恐縮なのですが、ご教授頂けると幸いです。
index.php = composer_projectと同階層 composer_project下にvenderフォルダー+composer.json+composer_lockがあります。
index.php (一部) <?php require "./composer_project/composer.json"; require "./composer_project/vendor/autoload.php"; use Google\Cloud\BigQuery\BigQueryClient; $project_id = 'test'; $dataset_id = 'test'; $table_id = 'test'; $bigQuery = new BigQueryClient([ 'projectId' => $project_id, ]); $user_data = array(); $user_data = compact('company_name','sender_name','phone_number','mail_address','content'); $user_data = [ 'company_name' => $company_name, 'sender_name' => $sender_name, 'phone_number' => $phone_number, 'mail_address' => $mail_address, 'content' => $content ]; $dataset = $bigQuery->dataset($dataset_id); $table = $dataset->table($table_id); $insertResponse = $table->insertRows([ ['data' => $user_data], // additional rows can go here ]); if ($insertResponse->isSuccessful()) { print('Data streamed into BigQuery successfully' . PHP_EOL); } else { foreach ($insertResponse->failedRows() as $row) { foreach ($row['errors'] as $error) { printf('%s: %s' . PHP_EOL, $error['reason'], $error['message']); } } } ?>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/16 07:49