phpのmemory_limitなどを変更する方法

WordPressで画像をアップロードすると、以下のようなエラーがでた。

Fatal error: Allowed memory size of 8388608 bytes exhausted ~~

これは、phpでユーザーが確保可能なメモリ「memory_limit」以上のメモリを確保しようとしたためにでている。
私の場合はadmin-functions.phpの2152行あたりの「imagecreatefrom***」というphpのGD関数でエラーがでていた。
ここらの処理は、アップロードされた画像を展開してサムネイルを作成する処理・・・・・にみえる。
ちなみに、私が利用させてもらっているレンタルサーバーではmemory_limitは8M。
つまり、展開して8M以下の画像しかアップロードしてもエラーがでちゃうわけである(画像自体はアップロードされている)。

これを解決するには、WordPressでのアップロードをあきらめFTPでアップするか、memory_limitをもっと大きな値にするしかない。

私の場合、アップロードしてDBに登録された情報を利用してイメージリストを作りたかったので、なんとしてもWordPressでアップロードしたい。

ということで、memory_limitを変更する方法です。

1..htaccessを利用する。
 WordPressのフォルダの.htaccessに下記の文を追加。

php_value memory_limit 16M

 私の場合はこれでOKでした。

2.ini_setを使う。
 WordPressで利用するphpファイルのどこかにini_set(‘memory_limit’,’16M’);を追加する。
 しかし、追加できるそれっぽいファイルを発見できなかったのでこの方法はやっていません。

3.サーバーによっては、php.iniを設置する。
 記事を見かけただけで試していませんが、ルートフォルダとかにphp.iniを設置して設定を記述すると、反映されるところもあるそうです。
 上記2つの方法でだめなら、サーバーの人にきいてみましょう。

★参考
アップロードについて

ボヤキ:なんでローカルで記事を保存せずに、MTだけで書いてアップしたときに限って、うまく送信できないんだ・・・。゚(゚´Д`゚)゚。

Tableを作るプラグイン「wp-Table」

管理画面でTableを作成・管理して、記事で[TABLE=2]なんて書くとそのテーブルが表示されるプラグインです。

 記事に直接テーブルタグを貼り付ける

ってわけじゃなくて

 ページを動的に生成したときに表も挿入される

ので、管理画面で変更した表が、記事を更新しなくても、反映されるのが便利です。
csvファイルからの読み込みも可能です(試したことないけど)。

★参考
wp-Table 日本語版

phpMyAdmin

phpを利用して、MySQLデータベースを操作するスクリプト

MySQLを操作する「何か」を動かしていたがバグでどうにもならなくなったときとか、phpMyAdminでMySQLを操作して消したりするとよい。
私はNucleusを以降中に色々やってたら全く触れない状態になっちゃったのでDBを綺麗にして再度いれなおした。
いまどきのレンタルサーバーなら最初から導入されてるかもね。
似たような(名前が、ね)のに、PostgreSQL用なphpPgAdminってのもあります。

・インストール手順(うるおぼえ)
1.phpMyAdminをダウンロード
2.librariesのconfig.default.phpを編集
PmaAbsoluteUriをphpMyAdminのURLに。
[‘Servers’][$i][‘host’] にMySQLサーバーのホスト名
[‘Servers’][$i][‘user’] にMySQLユーザー名
[‘Servers’][$i][‘passuord’]にMySQLパスワード
DefaultLangにja
MySQLサーバーのポートがデフォルトじゃなければ、portも変更。
くらいかな?
3.編集したら、トップディレクトリにconfig.inc.phpという名前で置く
4.サーバーにアップ
5.アクセスするとたぶん動く。
6.このままだと誰でもアクセスできちゃうので、.htaccessなんかでアクセスを制御する。

★参考
http://www.futurism.ws/server/phpMyAdmin/

Youtubeとかの動画をWordPressで再生させるプラグイン?

WordPressでそのまま、Youtubeのタグを貼ると文字が変わっちゃってだめらしい(試したことなし)

ってわけで、CoolPlayerなるものを通して再生させるといいみたい。
Youtube以外にもいろんな動画サイトの動画に対応している模様です。

★インストール手順
1.CoolPlayerをダウンロードしてくる。
2.ダウンロードしたファイルを解凍する。
3.サーバーのwp-content/pluginsにアップする。
4.プラグインを有効化する。
5.わーい。

★使い方
[coolplayer]http://www.youtube.com/watch?v=FqU6YKyrliI[/coolplayer]

簡単ですな。
他にも色んな動画サイト、自分でアップした動画を再生することが可能です。
詳しい再生可能な動画種別、サイト及びそれらの場合の使い方はCoolPlayerのサイトを見てください。

★参考
WordPress で簡単に YouTube の動画を貼り付ける方法

イメージギャラリープラグインImage List

投稿された画像リストを表示して、記事へリンクするプラグイン

http://aoina.com/archives/23

■感想
 今実験しているwordpress-me212では、上記URLのコメントにもあるような感じで、サムネイルが表示されなかった。
 プラグインを見てみると、post_statusがattachmentっていう条件で抽出している。
 おそらく上記URLのコメントの人は、post_statusがattachmentな記事がないんだろう。
 っていうか、私もない。なんでだ!!

 まぁ、なんでかは結局わからず。
 色々画像を添付してはphpMyAdminでDBの中身を見ながら試してみたが、一向にpost_statusがattachmentになる記事は現れない。
 今度はWordPressタソがどこでpost_statusにattachmentを設定するのか見てみることにしたが、ぱっとみupgradeでしか設定してないような気もする。
 が、今までの経験上、ぱっと見でそういう「気」がしたときは絶対「気」だけであって、どこかでは設定してるんだろうが・・・。
 しょうがないので、post_status = ‘attachment’ の箇所は post_status = ‘publish’ and post_type = ‘attachment’ に変更して適当に表示させてみた。
 ちょーうそ。
 post_type = ‘attachment’ にしてみた。です。

 暇なときにでもpost_statusがattachmentになるのを探してみよう。

ホストプロバイダー

http://www.hostpro.ne.jp/

エコノミープラン
初期費用:5250
月額費用:2079
容量:50MB
データベース:別プラン
メールアカウント10、エイリアス10、転送10、メーリングリスト10

データベースを利用するには、スタンダードプラン以上(月額4179~)
CGI、PHPはどのプランでもOK

追加容量20MB単位で525円