Docker移管後に、管理画面からWordPressの自動アップグレードを実行すると、画面の右側が真っ白になりアップグレードが失敗するようになりました。具体的にどのファイルが影響していたか分かりませんでしたが、Apacheの実行ユーザーに対し、WordPressのインストールディレクトリの配下のファイルへの書き込み権限を付与すると、問題が解決しました。
$ chmod u+w /war/www/html -R
Docker移管後に、管理画面からWordPressの自動アップグレードを実行すると、画面の右側が真っ白になりアップグレードが失敗するようになりました。具体的にどのファイルが影響していたか分かりませんでしたが、Apacheの実行ユーザーに対し、WordPressのインストールディレクトリの配下のファイルへの書き込み権限を付与すると、問題が解決しました。
$ chmod u+w /war/www/html -R
文字列の結合にはconcatメソッドを利用します。
var str1 = 'ABC'; var str2 = 'DE'; var str = str1.concat(str2);
「+」を使っても同じです。
var str = str1 + str2;
文字数のカウントにはlengthメソッドを利用します。最近のブラウザではマルチバイト文字も対応しています。
var str = 'ABCDE'; var len = str.length;
Linuxのシェルで添付ファイル付きのメールを送信するには、uuencodeコマンドでバイナリファイルをテキストファイルにエンコードした上で、パイプを使ってmailコマンドに渡します。
$ uuencode <対象ファイル> <変換後のファイル名> | mail <E-mailアドレス>
Windowsのコマンドプロンプトで利用できるコマンドの備忘録です。比較のため、同様のLinuxコマンドも載せています。
コマンド(コマンドプロンプト) | コマンド(Linux) | 意味 | 備考 |
---|---|---|---|
cd <移動先のパス> | cd <移動先のパス> | 違うフォルダに移動する | |
dir <フォルダのパス> | ls <フォルダのパス> | フォルダに含まれるファイルの一覧を表示 | |
type nul > <ファイルパス> | touch <ファイルパス> | 空ファイルを作成 | |
mkdir <フォルダのパス> | mkdir <フォルダのパス> | フォルダの作成 | |
del <ファイルパス> | rm <ファイルパス> | ファイルの削除 |
最近、当ブログをDocker上に移管しました。その後、プラグインを更新しようとすると、
以下のように、「要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。次に進むには FTP の接続情報を入力してください。」というメッセージと共に、FTP接続情報を入力するフォームが現れるようになりました。
調査の結果、これはサーバー上のwp-contentディレクトリの所有者が、Webサーバーの実行者と違う場合に発生するエラーのようです。
rootになっている所有者をApacheの実行ユーザーであるwww-dataにchownコマンドで変更すると、
$ chown -R www-data:www-data wp-content
正しくプラグインの更新ができました。
AngularJSでJSONファイルを扱うには、ngResourceモジュールを利用するのが一般的なようです。
JSONに含まれるデータが配列の場合は、queryメソッドを使います。以下の例では、取得したデータをbooksというスコープ変数に代入すると同時に、booksの各要素をコンソールに出力する処理をしています。ngResourceは非同期読み込みなので、読み込んだ後に実行したい関数をqueryメソッドの引数として渡す形になります。
[ {"name": "name1", "price": 1000}, {"name": "name2", "price": 1500}, {"name": "name3", "price": 3000} ]
angular.module('myApp', ['ngResource']) .controller('bookCtrl', ['$scope', '$resource', function($scope, $resource){ var Book = $resource('/path/to/json'); $scope.books = $resource.query(function(books) { for (var i = 0; i < books.length; i++) { console.log(books[i]); } }); }]);
データがハッシュの場合は、queryではなくgetを使用します。
{ "name1": {"price": 1000}, "name2": {"price": 1500}, "name3": {"price": 3000} }
angular.module('myApp', ['ngResource']) .controller('bookCtrl', ['$scope', '$resource', function($scope, $resource){ var Book = $resource('/path/to/json'); $scope.books = $resource.get(function(books) { for (var key in books) { console.log(books[key]); } }); }]);
LaravelでFacebookOAuth認証を行おうとしたところ、以下のようなエラーが発生しました。
RequestException in CurlFactory.php line 187: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
調査の結果、CA証明書がphp.iniで正しく設定されていないことが原因であると分かりました。
http://curl.haxx.se/ca/cacert.pem
をダウンロードして、「C:\php\cacert.pem」として保存し、php.iniに以下の記述を加えることで、エラーが解消されました。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. curl.cainfo=C:\php\cacert.pem
Laravelでmigrateコマンドを使用したところ、PDOException(could no find driver)が発生しました。
$ php artisan migrate ************************************** * Application In Production! * ************************************** Do you really wish to run this command? [y/N] (yes/no) [no]: > yes [PDOException] could not find driver
調査の結果、php.iniのMySQL拡張がコメントされているという凡ミスでした。「;」を外して、再度実行すると正しく処理されました。
$ vi php.ini ... ;extension=php_pdo_mysql.dll ...
Laravelプロジェクトを新しく作成し、gulpを通じてelixirを実行したところ、以下のようなエラーが出ました。
これを解決するには、以下の二つのパッケージをインストールする必要があるようです。
$ npm install babel-preset-es2015 --save $ npm install babel-preset-react --save
こちらの議論では、npmをアップグレードすれば解決するとの発言もありますが、私の環境ではうまくいきませんでした。
Node.jsのアップグレードには、npmコマンドを利用します。
$ npm install n -g
しかし、Windowsでは以下のようなエラーが出て、アップグレードに失敗します。
npm ERR! Windows_NT 10.0.10586 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\seiyata\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "n" "-g" npm ERR! node v4.4.3 npm ERR! npm v3.8.8 npm ERR! code EBADPLATFORM npm ERR! notsup Not compatible with your operating system or architecture: n@2.1.0 npm ERR! notsup Valid OS: !win32 npm ERR! notsup Valid Arch: any npm ERR! notsup Actual OS: win32 npm ERR! notsup Actual Arch: x64 npm ERR! Please include the following file with any support request: npm ERR! D:\workspace\pop\npm-debug.log
現在のところ、インストーラーを利用するしかなさそうです。