スキップしてメイン コンテンツに移動

投稿

cloud storageのファイルをインターネット上に外部公開するときによく使うgsutilコマンド

リージョン指定してバケットを作成 # -b: バケットレベルのアクセス権限を設定する場合はon。onにすると、オブジェクト単位のACLの設定は無視される。 # -l: バケットのリージョン指定 gsutil mb -b on -l asia-northeast1 gs://{バケット名}/ バケットを外部から認証なしで読み取れるようにする。 gsutil defacl set public-read gs:// { バケット名 } http(s)アクセスされたときのhttpヘッダーの Cache-Control を変更。下記の例では、 max-age を1年(=31536000秒)に設定 # ワイルドカード(*)指定の場合 gsutil -h "Cache-Control:public, max-age=31536000" gs:// { バケット名 } / { ディレクトリ } /* # -rの再帰オプション指定の場合 gsutil -r -h "Cache-Control:public, max-age=31536000" gs:// { バケット名 } / { ディレクトリ } Cloud Storageのキャッシュ設定を こちらの記事 が参考になりました。

gsutilでローカルとCloud Storage上のファイルを同期

gsutilコマンドを使ってGoogle Cloud Storage上のファイルを同期するには、rsyncオプションをつけて、下記のコマンドを実行します。 # -m サポートされている操作(acl ch、acl set、cp、mv、rm、rsync、setmeta)を並行実行して実行時間を短くする # -d 同期先にあって同期元(ローカル)に存在しないファイルを同期先から削除する # -r 再帰的にディレクトリ内のファイルを対象にする gsutil -m rsync -d -r { 同期元のディレクトリ } gs:// { バケット名 } / { 同期先のパス }

Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.

composer install コマンドを実行したところ下記の警告メッセージが表示されました。 Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled. PHPのcurl extensionが有効でないため、Composerが通常より遅くなると言われているので、PHPのcurl extensionをインストールします。 実際、curl extensionをインストールしないと遅くなりました。 Linuxのディストリビューションに応じて下記のコマンドを実行して、PHPのcurl extensionをインストールします。 apt install php-curl yum install php-curl Windowsの場合は、php.iniを編集してcurl extensionを有効化します。 php.iniの場所は php --ini をPoweerShellやコマンドプロンプトで実行すればわかります。 php.ini内の Loaded Configuration File: 付近で下記の行のコメントを削除して、有効化します。 extension=php_curl.dll

JetBrains社のIDE上のデータベースツールでSSLのエラーでデータベースに接続できない問題

JetBrainsのIDE内のツールを使ってデータベース(MySQL)に接続しようとしたところ、下記のエラーが出て接続に失敗しました。 Failed Cancel Copy Search Error Troubleshooting [08S01] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate). 少し調べたところ、JetBrainsのIDE内のJavaを使っている部分のエラーであることがわかりました。根本の原因は、 こちらの記事 に書かれていました。 「接続先ホストからJavaが対応していないTLS(いわゆるSSL)のプロトコルバージョンを要求されたときに出る」ものとのことです。 サーバー側のTLSの設定を変えられない場合、Javaのクライアント側で対応していないTLSのプロトコルバージョンを許可することでこのエラーは回避できます(セキュリティレベルの低いプロトコルを許可することになるので、そのリスクを理解したうえで作業を実施してください)。 C:\Program Files\JetBrains\{JetBrainsのIDE}\jbr\conf\security\java.security 内の下記の記述の部分からTLSv1, TLSv1.1を削除します。 # Note: This property is currently used by the JDK Reference implementation. # It is not guaranteed to be examined and used by other implementations. # # Example: # jdk.tls.disabledAlgorithms=MD5, SSLv3

Symfony 5.xで不要なバンドルを削除する方法

Symfony 5.xで不要なバンドルを削除は下記の手順で実施できます。 config/bundles.phpからバンドルを削除 config/packageディレクトリ内の関連yamlファイルを削除(Kernel.php内で読み込まれている) composer remove vendor/package を実行。 ちなみにバンドルを削除ではなく、ロードしないようにする(無効化する)には、 config/bundles.php内でバンドルを読み込まないようにfalseに設定。 XXXBandle::class => ['all' => false], config/packages/内のyamlを削除 すればOKです。

Windows上でcomposer updateコマンドを実行した場合NoSslExceptionエラー

Windows上でcomposer updateを実行して、 [Composer\Exception\NoSslException] The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true. というエラーが出た場合、下記の手順に従ってPHPのopenssl extesnionを有効にする必要があります。 PHPがインストールされたフォルダ内のphp.iniファイルを開きます。 extension=php_openssl.dll の含まれている行を探す 行の先頭にあるセミコロン(;)を削除してコメントイン