2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PHPにphpspreadsheetを入れようとしたら、 思ってたより時間がかかった話

Last updated at Posted at 2023-04-12

何をしようとしてた?

phpspreadsheetを触ってみたかった。WindowsのXAMPP環境に、composerをインストールし、composerからphpspreadsheetをインストールしようとしていた

遭遇したエラー

    Problem1 
  - phpoffice/phpspreadsheet 1.28.0 requires ext-gd * -> it is 
  missing from your system. Install or enable PHP's gd extension.
 your system. Install or enable PHP's gd extension. 
   Cannot use phpoffice/phpspreadsheet's latest version 1.28.0 as 
it requires ext-zip * which is missing from your platform.
In PackageDiscoveryTrait.php line 317:
 Package phpoffice/phpspreadsheet has requirements incompatible with 
 your PHP version, PHP extensions and Composer    
  version:           
    - phpoffice/phpspreadsheet 1.28.0 requires ext-zip * but it is not present.      
Cloning failed using an ssh key for authentication, enter 
your GitHub credentials to access private
When working with _public_ GitHub repositories only, head to
https://github.com/settings/tokens/new?scopes=&description
=Composer+on+自分のPCのユーザー名+2023-04-12+0644 to retrieve a token.
This token will have read-only permission for public information only.
When you need to access _private_ GitHub repositories as well, go to 
https://github.com/settings/tokens/new?scopes=repo&description
=Composer+on+自分のPCのユーザー名+2023-04-12+0644
Note that such tokens have broad read/write permissions on your behalf, 
even if not needed by Composer.
Tokens will be stored in plain text in "C:/Users/m230528/AppData/Roaming/
Composer/auth.json" for future use by Composer.
For additional information, check https://getcomposer.org/doc/articles/
authentication-for-private-packages.md#github-oauth
Token (hidden):

エラーの意味

  • "phpoffice/phpspreadsheet 1.28.0 requires ext-gd * -> it is missing from your system."
    ⇒ モジュールgdがないから、phpspreadsheetインスト無理よ

  • "Cannot use phpoffice/phpspreadsheet's latest version 1.28.0 as it requires ext-zip * which is missing from your platform." ⇒ モジュールzipがないから、phpspreadsheetインスト無理よ

  • "This token will have read-only permission for public information only. When you need to access _private_ GitHub repositories as well, go to https://github.com/settings/tokens/new?scopes=repo&description =Composer+on+自分のPCのユーザー名+2023-04-12+0644"
    ⇒ Gitのあんたのリポジトリ、読み取り権限しかないから、phpspreadsheetインスト無理よ

  • "For additional information, check https://getcomposer.org/doc/articles/ authentication-for-private-packages.md#github-oauth Token (hidden):"
    ⇒ Gitのあんたのリポジトリ、トークンの有効期限が切れてるから、新しいトークン手に入れて入力しないと、phpspreadsheetインストさせないわよ
  • できないできない言うなぁ(怒)
    なんやTokenて。突然話しかけてくんなぁ(焦)

composerに、phpspreadsheetをインストールするには?

     
  • 1. Windowsにcomposerを手動でインストール
  • 2. XAMPPのPHPのPATHが通ってるか確認
  • 3. composerのディレクトリcomposer.jsonを作成
  • 4. composer.jsonのパスを、システム環境変数に追加
  • 5. composerのパスが通ってるか、確認
  • 6. XAMPPのphpフォルダにある、php.iniで"コメントアウトになってる行2か所"を削除
  • 7. XAMPPのhtdocsフォルダで、コマンド"composer install"を入力 ⇒ これでインストール成功♪

PHPspreadsheetの公式にも、composer.jsonを作らないと追加モジュールのインストールはできないよ、と書いてある

⇒ 公式読んでも理解できなかったワシ


3から解説するぜ


3. 作成するcomposer.jsonの中身

{ 
    "require": { 
        "phpoffice/phpspreadsheet": "^1.28.0" 
    } 
}

4. システム環境変数に追加する、composer.jsonのパス

1. C/ProgramData/ComposerSetup/bin/composer.json

composer -vでcomposerと表示されたら、パスが通ってる


6. XAMPPのphpフォルダにある、php.iniで"コメントアウトになってる行2か所"を削除

extension=gd
extension=zip

これでcomposer installしたら、成功した♪


モジュールを追加で入れるって、メンドクセー

Gitのトークンの更新や読み取り権限の設定は、Gitにログインしたら自然にできた。


助けてもらったサイトさま

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?