PHP関連のことを調べてみた2021年12月27日

PHP関連のことを調べてみた2021年12月27日

Laravel Simple Datatable

Laravel Simple Datatable enhances the accessibility of data in HTML tables

[https://github.com/cuongnd88/lara-simple-datatable](https://github.com/cuongnd88/lara-simple-datatable)

1-Install `cuongnd88/lara-simple-datatable` using Composer.

“`php
$ composer require cuongnd88/lara-simple-datatable
“`

2-Add the following service provider in `config/app.php`

“`php
[
. . . .
‘SimpleDatatable’ => Cuongnd88\LaraSimpleD

元記事を表示

DockerのPostgres環境でDB接続エラー(could not find driver)

## エラー内容
Dockerで立ち上げたPHP+Postgresの環境で、PDOを利用してDB接続を行なったときに下記が発生

“`
could not find driver
“`

## 原因
DockerのphpコンテナにPDOドライバーがインストールされていないことが原因

## 対策
Dockerfileを使ってPDO(pdo_pgsql)をインストールして解決する
phpのDockerfileに下記を追加

“`
RUN apt-get update && apt-get -y install libpq-dev
RUN docker-php-ext-install pdo_pgsql
“`

注意点として、単にpdo_pgsqlをインストールしようとするとエラーが発生してしまうため、先にlibpq-devをインストールするのがポイント

元記事を表示

PHP FPM の設定

## 前提
次の手順の続きで進める。

https://qiita.com/silverskyvicto/items/c302133a2bfafe1ba511

## 手順

1. 必要なファイルをコピーする

“`
# cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
# cp sapi/fpm/php-fpm /usr/local/bin
“`

2. `php.ini`ファイルを編集する

“`
# vi /usr/local/php/php.ini
“`

“`php.ini
cgi.fix_pathinfo=0

expose_php = Off
“`

3. php-fpm.confファイルを編集する

“`
# vi /usr/local/etc/php-fpm.conf
“`

“`ini:php-fpm.conf
(コメント解

元記事を表示

お名前.comのレンタルサーバRSプランでphpを定期的に自動実行させる方法

# 目的
タイトルの通り、お名前.comのレンタルサーバをRSプランで借りてる人が、phpを定期実行させること。

いま私は、クラウドファンディングサイトを構築したくて、金融機関名や支店名の照合を行うためにデータベースに金融機関名、支店名を登録しているが、これを1日に1度(毎日0:00 AM)とかでインターネット上のjsonに同期したい。

ネットに情報がほとんどなかったし、公式サイトにも「OSはLinuxです」程度のことしか書いていなく、どのコマンドが使えるかとか、ディレクトリ構造がどうなのかとかの説明がほとんどなく苦労した。なので次回からは楽できるようにここにメモしておく。

# 手順

1. SSH通信をする
2. CRONを設定する。

## 1. SSH通信をする

SSH通信とは、「コンピュータを遠隔操作する通信」の手法の一つ。
お名前.comのレンタルサーバRSプランのコントロールパネルには、phpの定期実行を行うためのツールが用意されていないので、レンタルサーバを遠隔操作(ハッキング)<

元記事を表示

【PHP】.envで環境変数を扱いたいときの設定

## .envファイルから値を読み込むと接続できない

“`
php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
“`

– なぜかuser名やpassword名を .env で読み込んで、変数に代入した値を使用すると、そんなファイルが無いと怒られてしまう。
– .env を経由せずに同じファイル上で指定するとなぜか接続できる。

## .envを読み込む設定

そもそも .env を読み込めないのは、デフォルトでは読み込む設定されていないから!!
phpdoenv をインストールする必要がある。

[GitHub – vlucas/phpdotenv: Loads environment variables from .env to getenv(), $_ENV and $_SERVER automagically.](https://github.com/vlucas/phpdotenv)

## 設定手順

①ターミナルで

“`
$ com

元記事を表示

【PHP】MAMPでcURL関数を使いたい(CAファイルの追記が必要)

## 結論

– cacert.pem(CA証明書をダウンロードする)
– php.iniを書き換える

## そもそもcURLが使える状況かどうか

– php -m で確認
– phpinfo() で確認

[PHPでcurlを使えない場合の対処法 – Qiita](https://qiita.com/____easy/items/06406fc62bd7464ad651)

– grepで確認

“`
% php -i | grep cURL
cURL support => enabled
cURL Information => 7.64.1
“`

[cURLのインストール状況の確認](http://www.php-mysql-linux.com/linux/curl-install/)

– curl –version で確認

“`
% curl –version
curl 7.78.0 (x86_64-apple-darwin20.4.0) libcurl/7.78.0 (SecureTransport) OpenSSL/1.1.1k zlib/1.2.11 b

元記事を表示

【PHP】cURL関数でPOSTする方法(送信&受け取る(API))

## 送信側

“`
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_params);
“`

この2行でPOSTできるようにする。

送りたい値を連想配列にしたのち、json_encodeでJSON形式にして送る

“`
$base_url = ‘api.php’;
$params = [
‘user_id’ => $user_id,
‘password’ => $password
];
$json_params = json_encode($params);

$headers = [
‘Content-Type: application/json’,
‘Accept-Charset: UTF-8’,
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $base_url);
curl_setopt($ch, CURLOPT_POST, TR

元記事を表示

【PHP】LINEログインAPI – IDトークンを検証して正しいユーザー情報を取得する方法

## 流れ(PHPで実装)

1. トップページの `