apache 上で fuelphp で動いている API サーバーがあるのですが
数年前に構築されたまま何もアップデートせずにつかっていて
セキュリティ要件のために定期的にアップデートすることになりました
とりあえず公式の
http://fuelphp.jp/docs/1.7/installation/upgrade.html
を読んでみたのですが具体的に何をすればいいのかよくわかりません
https://bm-server.net/2016/04/11/%E3%80%90fuelphp%E3%80%911-7-2%E3%81%8B%E3%82%891-8-0%E3%81%B8%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/
もよんでみたんですが
composer.json の中身がぜんぜん違っていてどう変更していいかわかりません
composer.json の中はこのようになっています
{ "name": "fuel/fuel", "type": "metapackage", "description": "The FuelPHP framework", "keywords": ["framework"], "homepage": "http://fuelphp.com", "license": "MIT", "authors": [ { "name": "FuelPHP Development Team", "email": "team@fuelphp.com" } ], "support": { "irc": "irc://irc.freenode.org/fuelphp", "forum": "http://fuelphp.com/forums" }, "require": { "php": ">=5.3.3", "monolog/monolog": "1.6.*", "opauth/opauth": "0.4.*", "opauth/facebook": "dev-master", "opauth/google": "dev-master", "fuelphp/upload": "2.0.1", "bshaffer/oauth2-server-php": "v1.3", "fluent/logger": "v0.3.7", "dakatsuka/monolog-fluent-handler": "1.0.0", "phpunit/phpunit": "4.1.*", "aws/aws-sdk-php": "2.*", "elasticsearch/elasticsearch": "~5.0" }, "suggest": { "mustache/mustache": "Allow Mustache templating with the Parser package", "smarty/smarty": "Allow Smarty templating with the Parser package", "twig/twig": "Allow Twig templating with the Parser package", "mthaml/mthaml": "Allow Haml templating with Twig supports with the Parser package" }, "config": { "vendor-dir": "fuel/vendor" }, "scripts": { "post-install-cmd": [ "php oil r install" ] }, "minimum-stability": "dev" }
そもそも fuel のフォルダがリポジトリ内にあるので
サーバー側で何か実行してもデプロイで上書きされることになる気がするんですが
リポジトリ内でアップデートを行ってそれをデプロイするという形になるのでしょうか
https://qiita.com/watarinrin78/items/0a87da153d2d0ae3472f
を参考にして 1.8.zip をダウンロードしてきてリポジトリ内の
- fuel/core - fuel/packages - fuel/app/bootstrap.php - public/.htaccess - public/index.php
をおきかえてデプロイしてみたんですが
php oil r install
というコマンドで
Fatal error: Uncaught Error: Class 'Autoloader' not found in
というエラーが出てしまいます
エラー内容で検索すると
https://runble1.com/fuelphp-18-update/
が1件だけヒットしたんですが oil をアップデートするとしかかかれていません
どうやってアップデートすればいいんでしょうか
方針があってるかどうかもよくわからないので
助けていただけるとありがたいです
よろしくおねがいします
追記
oil -v とうつと
Error - Package 'pushnotifications' could not be found at 'PKGPATH/pushnotifications/' in COREPATH/classes/package.php
というエラーが出ます
package/pushnotifications というディレクトリがあったんですが
アップグレードのときに package ごと消してしまいました
git 管理してるので戻そうと思えば戻せるんですが
これはどうやってインストールしなおせばいいのでしょうか
fuel は本当に何もわかってなくて
コントローラー内の PHP のロジックを変更したことしかなくて
フレームワークの部分は全くわからないので初心者マークをつけておきます
新しくインストールしなおせばそのあたりのことを覚えていけると思ってるんですが
そのインストール作業をどうやればいいかという最初の部分でつまずいています
他のソフトウェアであれば yum apt-get pip なり
ソースから configure make なりでアップデートできるものなんですが
サブディレクトリ内に別の git リポジトリにするとか
zip をダウンロードしてサブディレクトリだけまるまるおきかえるとか
アップデートの仕方がすごくわかりにいので困ってます
oil, composer の必要性とかもわかりにくくて
なぜパッケージ管理ツールが複数必要なんでしょうか
回答1件
あなたの回答
tips
プレビュー