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

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

新規登録して質問してみよう
ただいま回答率
85.50%
SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Q&A

解決済

2回答

3383閲覧

Facebook SDK forPHPのクラスが読み取れない。

Shinog

総合スコア99

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

0グッド

0クリップ

投稿2015/05/17 01:15

編集2015/05/17 01:17

はじめまして!

現在、以下のFacebook公式サイトを参考にしながらFacebook認証の開発を進めている者です。
https://developers.facebook.com/docs/php/gettingstarted/4.0.0

lang

1<?php 2 3define('FACEBOOK_SDK_V4_SRC_DIR', '/fb-php-sdk-v4/src/Facebook/'); 4require __DIR__ . '/fb-php-sdk-v4/autoload.php'; 5 6 7// Make sure to load the Facebook SDK for PHP via composer or manually 8 9use Facebook\FacebookSession; 10 11FacebookSession::setDefaultApplication('略', '略');

上記のようなシンプルなコードを実行した際、

Fatal error: Class 'Facebook\FacebookSession' not found in /ドメイン名/index.php on line 15

と表示されてしまいます。

ちなみに、SDKはComposerではなくGithubからダウンロードし、ルートディレクトリに配置したので、
公式サイトにある

lang

1define('FACEBOOK_SDK_V4_SRC_DIR', '/path/to/fb-php-sdk-v4/src/Facebook/'); 2require __DIR__ . '/path/to/facebook-php-sdk-v4/autoload.php'; 3

の/path/to/は意図的に削除しました。

このような場合、どのような処置をとればよいでしょうか?

よろしくお願い申し上げます。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

下記の Loading the SDK without Composer の説明はなにかおかしいです。

Getting Started

FACEBOOK_SDK_V4_SRC_DIR にも絶対パスを指定するべきなので以下のようにしてみるといかがでしょうか。

lang

1define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__ . '/facebook-php-sdk-v4/src/Facebook/'); 2require __DIR__ . '/facebook-php-sdk-v4/autoload.php';

あるいは、ソースを見た感じそもそも FACEBOOK_SDK_V4_SRC_DIR 定数は必要なさそうです。

facebook/facebook-php-sdk-v4 autoload.php#L49

lang

1require __DIR__ . '/facebook-php-sdk-v4/autoload.php';

投稿2015/05/17 07:05

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shinog

2015/05/17 11:05

ありがとうございます!! 参考になりました^^
guest

0

https://developers.facebook.com/docs/php/gettingstarted/4.0.0
にある "Download the PHP SDK" のボタンからダウンロードした
4.0-dev.zip を展開すると、ディレクトリ名が
facebook-php-sdk-v4-4.0-dev になっていました。

以下のような感じで動かないでしょうか?

lang

1<?php 2define('FACEBOOK_SDK_V4_SRC_DIR', '/facebook-php-sdk-v4-4.0-dev/src/Facebook/'); 3require '/facebook-php-sdk-v4-4.0-dev/autoload.php'; 4use Facebook\FacebookSession; 5FacebookSession::setDefaultApplication('dummy1', 'dummy2'); 6

投稿2015/05/17 03:01

hotta

総合スコア1613

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ngyuki

2015/05/17 07:07

もしその修正で動くのであれば Fatal error: Class 'Facebook\FacebookSession' not found in /ドメイン名/index.php on line 15 などとはならずに require で Fatal error になっていると思います。
Shinog

2015/05/17 11:05

ありがとうございます!! 参考になりました^^
hotta

2015/05/18 04:51

> ルートディレクトリに配置した とのことなので、むしろ __DIR__ は付けてはダメなような。 と思ったのですが、 > require で Fatal error に というのは、たしかにそうかもしれませんね。 Shinog さん (今回の質問に限りませんが、)正解を知りたいので、単なるお礼だけの書き込みは控えて、最終的に{(どうしたら)うまくいった|いかなかった}の結果を書いていただけるとありがたいです。
Shinog

2015/05/18 06:34

質問する側としての責任を果たせていませんでした! 大変申し訳ありません。 define('FACEBOOK_SDK_V4_SRC_DIR', '/fb-php-sdk-v4/src/Facebook/'); require __DIR__ . '/fb-php-sdk-v4/autoload.php'; を require '/fb-php-sdk-v4/autoload.php'; とシンプルに変更するだけで改善できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問