前提
php で composer が使える状態である
composer の導入はこちら
1.ComposerでStripeライブラリをインストールする
2.ファイルの設置
メインで参考にしたページ
https://qiita.com/p_s_m_t/items/a69dfbc75804fe86ad9c
ファイル内でライブラリをロードするときの注意点
ComposerでStripeライブラリをインストールした場合
-------------------------------------------------
require_once('/stripe_test/vendor/autoload.php');
-------------------------------------------------
Composerを使わず、手動でStripeライブラリをダウンロードしてサーバーに置いた場合
-------------------------------------------------
require_once('/stripe_test/stripe-php/init.php');
-------------------------------------------------
デフォルトのファイル名が違うので間違えないように
カテゴリー:CentOS, PHP, さくらインターネット
composer が導入されているか
composer が利用できないことを確認
----------------------------------------
composer --version
-bash: composer: コマンドが見つかりません
----------------------------------------
composer をどこのディレクトリにダウンロードしてどこにインストールするべきか確認した結果、特に決まりはなく任意のディレクトリでよさそうだ。ただ、プロジェクトだけで必要か、システム全体で使えるようにしたいのかでインストールの実行ディレクトリを決めればいいという意見も多くあった。
自分はさくらVPS の環境でグローバルで使えたほうが便利と考えたのでファイルのダウンロード先を ルートディレクトリ(/root)と決めた
root になってホームディレクトリ(/root)でコマンドを実行
-----------------------------------------------------------------------
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
-----------------------------------------------------------------------
すると /root に composer-setup.php がダウンロードされる
次のコマンドでファイルに問題がないか確認
-----------------------------------------------------------------------
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
-----------------------------------------------------------------------
Installer verified と出たらOK
セットアップを実行
-----------------------------------------------------------------------
php composer-setup.php
-----------------------------------------------------------------------
この状態でカレントディレクトリであるルートディレクトリ(/root)を確認すると composer 関連の二つのファイルが確認できる
-----------------------------------------------------------------------
composer-setup.php composer.phar
-----------------------------------------------------------------------
composer-setup.php はもういらないので削除
-----------------------------------------------------------------------
php -r "unlink('composer-setup.php');"
-----------------------------------------------------------------------
パスを通すために composer.phar を /usr/local/bin/composer に移動
-----------------------------------------------------------------------
mv composer.phar /usr/local/bin/composer
-----------------------------------------------------------------------
composer は root で実行しないように推奨されているのでユーザーを変更。
-----------------------------------------------------------------------
su - ユーザー名
-----------------------------------------------------------------------
参考:rootユーザでcomposerコマンドを実行してはダメな理由
https://akamist.com/blog/archives/261
composer が利用できることを確認
--------------------------------------------------------------------------------
composer
--------------------------------------------------------------------------------
実際に利用するには composer.json ファイルが必要
適当なディレクトに移動、もしくは作る。自分は /var 直下に作った。
カレントディレクトリに composer.json をつくる。
-q で対話形式の入力を行わない
--------------------------------------------------
composer init -q
--------------------------------------------------
インストール参考
https://technoledge.net/composer-install-and-use/
https://laboradian.com/php-composer/
https://qiita.com/inakadegaebal/items/d370bcb1627fce2b5cd1
https://weblabo.oscasierra.net/php-composer-centos-install/
composerディレクトリ構成
http://tadasy.hateblo.jp/entry/2013/10/09/193415
カテゴリー:PHP, さくらインターネット, サーバー設定
php の mb_send_mail 関数で一部のメールが送れない。
yahoo メール宛てには送れるのに、独自メールが送れない。
--------------------------------------------------
環境
送信元:さくらのVPS WEBサーバーより mb_send_mail を利用
--------------------------------------------------
mb_send_mail 関数自体はエラーを吐かず、正常に終了する。
ターミナルでメールエラーを確認
--------------------------------------------------
cd /var/log/maillog
--------------------------------------------------
エラーっぽい箇所の抜粋
--------------------------------------------------
May 29 12:14:51 localhost postfix/smtp[32237]: 70ED82C028C: to=, relay=○○.sakura.ne.jp[49.212.235.97]:25, delay=0.08, delays=0.02/0/0.04/0.02, dsn=5.1.8, status=bounced (host ○○.sakura.ne.jp[49.212.235.97] said: 553 5.1.8 ... Domain of sender address apache@localhost.localdomain does not exist (in reply to MAIL FROM command))
--------------------------------------------------
検索して見つけた対処法
設定してなかった mb_send_mail 第五引数に "-fプロバイダメールアドレス" を指定。
第五引数はエラーがあった場合にメールを送信するメールアドレス。
これで送信できるようになった。
ちなみに別で契約しているもう一つのさくらVPSでは 第五引数がなくても送信できている。サーバーの設定を変えることでも問題解決できそうだ。
参考
https://okwave.jp/qa/q4822148.html
https://b-risk.jp/blog/2013/01/php_mb_send_mail/
追記
ezweb を使っている方から仮登録メールが届かないという連絡が問い合わせフォームからあった。
SPF の設定が何のが原因か?
----------------------------------------
"v=spf1 +ip4:web公開サーバーのipアドレス +mx ~all"
----------------------------------------
参考
https://qiita.com/ryounagaoka/items/931081c74b5c7a9b2bff
spfの確認
http://mxtoolbox.com/spf.aspx
追記2
gmail 宛てに送ったら迷惑メールに振り分けられたら
gmail から メールヘッダーを確認。
Received-SPF の部分が softfail になっていたらそれが原因。
ip6 対応のサーバーから送信した場合、SPF の設定に ip6 を追加する必要がある。
参考
https://www.nalabo.net/blog/2013/06/18/148
カテゴリー:CentOS, PHP, さくらインターネット, サーバー設定