■失敗
<?php
を
<? php
と書いていた(スペース不要)
その他、
templates, settings のs 抜け
sqlightと書いていた
など、スペルミス多発・・・
--
サーバのターミナルに
127.0.0.1:39330 Invalid request (Unexpected EOF)
というエラーが出るが、これはPHPのビルトインサーバの意味なしエラーで対処しようがないらしい。
http://stackoverflow.com/questions/29141240/php-local-server-invalid-request-unexpected-eof
--
$ sudo add-apt-repository ppa:ondrej/php5
という部分、p34) php5と書くとエラー。phpのみで通る。
だめだったので、php7.1を入れました。
--
p40 がおかしい
リスト5は不要
autoloadの部分はリスト1で既に記述してあるのに追記という表現になっている。
--
■失敗
'Slim\Slim' not found in /dir/XXX/
というエラーでハマる
autoloadが正常に機能していない?
require '../vendor/autoload.php';
を消してしまっていたのが問題だった。
「修正し」という表現がどうにも誤解してしまったようだ。反省。
--
~/Tinitter/lib$ atom /Base/DB.php
こういう感じでフォルダを指定してphpファイルを作ったら、保存できなかった。Baseのpermissionがないという警告。
~/Tinitter/lib/Base$ atom DB2.php
であれば問題なかった。
リネーム。名前の違うファイルに移動する。
~/Tinitter/lib/Base$ mv DB2.php DB.php
--
p47
リスト22では → リスト6 ではの間違い。(別の章から通しで番号をつけていた名残の直し忘れ?)
--
$ sudo apt install composer
でインストールした
$ composer require respect/validation
でrespect/validationを入れた
--
class Post extends \Respect\Validation\Validator
というクラス継承で正常に動いている。
php ~/composer.phar update
--
■PDO driver が入っていないエラー
リスト15
Slim Application Error
The application could not run because of the following error:
Details
Type: PDOException
Message: could not find driver
File: /home/shimo/Tinitter/vendor/illuminate/database/Illuminate/Database/Connectors/Connector.php
Line: 47
というエラーが出て沈没
// githubの最終には以下が入っていない・・が関係なさそう
// $app->post('/post/commit', '\Tinitter\Controller\Post:commit');
[Wed May 17 20:33:10 2017] Tinitter\Model\Post Object
(
[connection:protected] =>
[table:protected] =>
[primaryKey:protected] => id
[perPage:protected] => 15
[incrementing] => 1
[timestamps] => 1
[attributes:protected] => Array
(
)
[original:protected] => Array
protectedなのが問題?
と思ったが、
$post->save();
の後が現れなかったので、ここが問題であるようだ
結局、ドライバが入っていないのはそもそもインストールされていないということだった
$ sudo apt-get install php7.0-sqlite3
http://stackoverflow.com/questions/30009618/why-cant-create-the-sqlite-db-with-pdo
http://stackoverflow.com/questions/37894766/how-to-solve-php-7-not-found-sqlite3
http://stackoverflow.com/questions/35240414/laravel-5-pdoexception-could-not-find-driver
これで解決。
///別PCでは、上記では解決せず。--> phpのバージョンが違ったので、変えればOK
--
本文が現れない・・・
sqlite.dbには格納されているので表示の問題
show.twigの
<div class="body">{{ post.body|nl2br }}</div>
は|(パイプ)を読み間違えていました。
--
■失敗
page2以降が表示されない・・・
show.twigのあたりがおかしかった模様
{% if page_num == 1 %}
--
既にインストールしてあるものを再度書いてある
CSRFは slim/Extraに・・・
Exception: Sessions are required to use the CSRF Guard middleware. in /home/shimo/Tinitter/vendor/slim/extras/Slim/Extras/Middleware/CsrfGuard.php:63
となっているので、インストールしなおし?
$ php composer.phar update
でやり直してみたが、特に変更なし
CSRFのプラグイン有効化の場所が違う?
https://github.com/uzulla/Tinitter
これでphpサーバ立ち上げ
~/Tinitter/htdocs$ php -S 127.0.0.1:8080
--
二周目。新PCでやってみる
Type: Twig_Error_Loader
Message: The "./templates" directory does not exist
というエラーが出て、図6のようにならない。
templatesのディレクトリの設定が間違っている?
ディレクトリのpathの受け渡しがおかしいようだ。が、なんともならず。最初からやり直すことにする。
templates -> template スペルミスだった s抜け
autoescape -> o が抜けるスペルミスだった
0 件のコメント:
コメントを投稿