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

投稿

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 の含まれている行を探す 行の先頭にあるセミコロン(;)を削除してコメントイン

git rm --cached {ファイル名}:ファイルをGitの管理対象から除外する

Gitから 特定のファイルを管理対象から除外するには、 git rm --cached {ファイル名} とします。 ディレクトリを除外するには、 -r オプションを付けて git rm --cached -r {ディレクトリ名} とします。 --cached オプションを付けないとファイルごと削除されるので注意してください。

firebase emulatorへ他のコンピュータから接続させる方法

firebaseのエミュレーターのサービスをネットワーク上の他のコンピュータから接続させる方法を紹介します。 firebase.jsonに "host": "0.0.0.0" の設定を加えます。下記はfunctionsに設定を加えた例です。 "emulators" : { "functions" : { "port" : 5001 , "host" : "0.0.0.0" } , "firestore" : { "port" : 8080 } , "hosting" : { "port" : 5000 } } サーバでは、0.0.0.0は「ローカルマシン上の全てのIPv4アドレス」を意味するので、上記の設定で、firebaseのエミュレータを起動すると、同じネットワークの他のホストからもアクセスできるようになります。 WindowsのFirewallの設定で他のコンピュータから接続させたいポートを開けます。 タスクバーの検索メニューに「Windows Defender Firewall with Advanced Security」と入力してFirewallの設定を開く。 左側のメニューから「Inbound Rules」を選択して、右側のメニューから「New Rule…」を選択して「New Inbound Rule Wizard」を起動。 Rule Type: Portを選択。 Protocol and Ports: TCP, firebaseのエミュレータで開けたいポートを入力 Action: Allow the connectionを選択。 Profile: ネットワーク環境に応じて選択。家や社内のネットワークで利用するだけならば、Privateで十分なはず。 Name: 適当な名前を付ける。