PHP:includeできない話
こんなエラーが
PHP Fatal error: Class 'TwitterOAuth' not found in /root/aaaa/Gottwit.php on line 10
PHP+abrahamOAuthを使うのは何度かあった。サイトも2個作った。(今は閉鎖したけど。。。)
野球が好きだから野球のツイート集めてここの贔屓球団を応援するコミュニティ作れるサイトだったんだけど放置してたらサーバの契約が切れてジャボんになってた。
abrahamのlibが仕様変更してるっぽい。
aaaフォルダの中は
TwitterOAuthException.php OAuth.php aaaa.php
Gottwit.php TwitterOAuth.php cacert.pem
が入っている。
ちなみにファイルとファイルパスはあっている。
以下を実行してerrが出なかったからだ。
kakunin.php
<?php
$fname='TwitterOAuth.php';
if(!file_exists($fname)) die("err!");
require_once($fname);
?>
うーん。。。よくエラーを見ると
>Fatal error: Class
Classが読み込めていないてばよぉwwwwwと言うことらしい。
TwitterOAuth.phpのclass TwitterOAuthを確認
class TwitterOAuth | |
{ | |
/* Set up the API root URLs. */ | |
private $api_host = "https://api.twitter.com"; | |
private $upload_host = "https://upload.twitter.com"; | |
/* Set up the API root URL. */ | |
private $api_version = "1.1"; | |
/* Set timeout default. */ | |
private $timeout = 5; | |
/* Set connect timeout. */ | |
private $connecttimeout = 5; |
ずっと続く。。。
そりゃClassだから長いわな・・・
どこが間違っているのか解析するより自分でoauthするライブラリ作った方が圧倒的に早そう。
それとプロキシを使えるオプションを見つけた。
if (!empty($this->proxy)) { | |
$options[CURLOPT_PROXY] = $this->proxy['CURLOPT_PROXY']; | |
$options[CURLOPT_PROXYUSERPWD] = $this->proxy['CURLOPT_PROXYUSERPWD']; | |
$options[CURLOPT_PROXYPORT] = $this->proxy['CURLOPT_PROXYPORT']; | |
$options[CURLOPT_PROXYAUTH] = CURLAUTH_BASIC; | |
$options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; | |
} | |
|
前からあったのかもしれない。前に私も似たようなlib作った。
Proxyサイトからプロキシ一覧取ってきて、毎回違うIPで操作するって言うなんとも言えないPHP。
いろいろ使ってたんだけど途中でProxy挟んでるっぽい奴はエラーが出るようになってた。それでもタイムラインとかは取得できていたわけだが。
最近は完全に対策されてProxy挟むと何もできないそうな。
コード乗せても意味ないから乗せないよ。
ばいばい