質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.23%

twitter botでのrequire_onceの使い方

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 270

番号リスト現在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.php
コード


行1<?php
行2    require_once('twitteroauth/autoload.php');
行3    require_once('twitteroauth/src/TwitterOAuth.php');
行4    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をそのまま移動させて、
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/src/TwitterOAuth.php
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の構文に間違いがあると思うのですが、どこが問題だと思われますか?


申し訳ありませんがよろしくお願い致します

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • m.ts10806

    2018/07/31 21:32

    べた書き過ぎてコードも階層も分かりづらいです。コードはコードブロックに、階層は全角スペースやコードブロックなども使って、状況が伝わりやすいようにしてください。

    キャンセル

  • GeorgeYamagata

    2018/07/31 22:08

    ご返信、ご指摘ありがとうございます。修正いたします。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る