現在twitter botで、現在の時刻を呟くbotを作ろうとしています。
そこで、vagrant仮想環境のcentOSでは、実行することができました。
centOSにインストールしてあるPHPのバージョンはPHP 5.6.31です
コードは下記のサイトを参考に致しました。
【2016年最新②】
TwitterBot用のPHP作成とCron設定方法
https://harublog.popnavi.net/programming/twitterbot_php_cron/
twitterbotを動かす、PHPファイルはhttps://github.com/abraham/twitteroauth ここからダウンロードして使っております こちらが書いたtwitter_bot.phpコードです。
twitter-bot-original1これがbotを動かす為のフォルダです
vagrantでの階層
/home/vagrant/twitter-bot-original1
twitter-bot-original1-config.php -twitter_bot.php
-config.php
-twitteroauth(これはディレクトリ)
twitter_bot.php
コード
<?php require_once('twitteroauth/autoload.php'); require_once('twitteroauth/src/TwitterOAuth.php'); require_once(dirname(__FILE__) . '/config.php'); use Abraham\TwitterOAuth\TwitterOAuth; $date = getdate(); switch($date['wday']){ case 0: $weekd = "日曜日"; case 1: $weekd = "月曜日"; case 2: $weekd = "火曜日"; case 3: $weekd = "水曜日"; case 4: $weekd = "木曜日"; case 5: $weekd = "金曜日"; case 6: $weekd = "土曜日"; } //今日の残り日数 //$leave_today = 24 - $date['hours']; //print "本日は残り"."$leave_today"."時間です"."\n"; $message = "現在は{$date['year']}年{$date['mon']}月{$date['mday']}日"."$weekd"."{$date['hours']}時{$date['minutes']}分です。"."\n"; //print $message; // つぶやく $connection = new TwitterOAuth(consumer_key, consumer_secret, access_token, access_token_secret); $request = $connection->post("statuses/update", array("status"=> $message )); ?>
そこで、次にxserverのドメイン名の下のpublic_htmlにcentOSで実行できたtwitter-bot-original1をそのまま移動させて、
/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitter_bot.php
/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/config.php
/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitteroauth/autoload.php
/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitteroauth/src/TwitterOAuth.php
にファイルをおく
cron設定のコマンドに
/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitter_bot.php
を書き込んで、コマンドを実行した事を知らせる為に
gmailを設定し、
実行したところ
・/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitter_bot.php: 行 1: ?php: そのようなファイルやディレクトリはありません
・/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitter_bot.php: ・行 2: 予期しないトークン `'twitteroauth/autoload.php'' 周辺に構文エラーがあります
・/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitter_bot.php: 行 2: ` require_once('twitteroauth/autoload.php');'
と言う文が返ってきて、
twitter_bot.phpの
<?php require_once('twitteroauth/autoload.php'); require_once('twitteroauth/src/TwitterOAuth.php'); require_once(dirname(__FILE__) . '/config.php'); use Abraham\TwitterOAuth\TwitterOAuth; のrequire_onceの部分でエラーが起こっていると思ったので、 1require_once(dirname(__FILE__) .'twitteroauth/autoload.php’); 2require_once( __DIR__ . 'twitteroauth/autoload.php'); 3require_once( '/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitteroauth/autoload.php'); 1~3まで試したのですが、 1だと 予期しないトークン `dirname' 周辺に構文エラーがあります 2だと 予期しないトークン `__DIR__' 周辺に構文エラーがあります 3だと 予期しないトークン '/home/サーバーID/ドメイン名/public_html/twitter-bot-original1/twitteroauth/autoload.php' 周辺に構文エラーがあります とgmailにエラー文が返信されてきます。 xserverのPHPバージョンは7.0.30です。 require_onceの構文に間違いがあると思うのですが、どこが問題だと思われますか?あなたの回答
tips
プレビュー