ツイッターアカウント作成
ツイッターアカウントを作って、電話番号を設定する。
※電話番号は、TwittterOAuthの設定が終わったら消して良いとのこと
ツイッターのデベロッパー登録
ツイッターのデベロッパーサイトにアクセス(https://dev.twitter.com/)
右上のAppsをクリック、次画面でCreate an appをクリック

アプリの利用目的を選択

次のページでいろいろ質問されるので、Google翻訳で英文を作って入力
最後に規約同意、メールアドレスの確認をして完了
ツイッターのアプリケーション登録
デベロッパーサイトの「Create an app」をクリック
アプリケーション名や、利用目的などの入力を求められるので入力する。(必須項目のみでOK)

アプリケーションの権限(Premissions)は必要であればいじるが、デフォルトが「Read and Write」で投稿できるため今回はいじらない。

「Keys and tokens」のページで下記を取得する。
API Key
API secret Key
Access Token
Access Token secret
Twitter OAuthを取得
ツイッター関連の処理をまとめたライブラリであるTwitter OAuthをGitHub(https://github.com/abraham/twitteroauth)から取得する。
zipファイルをダウンロードして準備は完了
コーディング
ツイート内容の認証は下記記事参照
「PHPで公開鍵暗号方式を使ってデジタル署名」(https://hazukei.com/1286/)
ツイートするプログラム
require "twitteroauth/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
$apiKey = "XXXXXXXXXXXXXX";
$apiSecret = "XXXXXXXXXXXXXX";
$accessToken = "XXXXXXXXXXXXXX";
$accessTokenSecret = "XXXXXXXXXXXXXX";
$twitter = new TwitterOAuth($apiKey, $apiSecret, $accessToken, $accessTokenSecret);
$result = $twitter->post("statuses/update", array("status" => "ツイートテスト"));
if($twitter->getLastHttpCode() == 200) {
// 成功
} else {
// 失敗
}