2022年12月12日月曜日

XAMPP7.4とPHP5.6の共存

 開発環境のWindowsを新しくしてXAMPP7.4をインストールしたが、PHP5.6で作った案件のメンテも引き続きあるので同時とは言わないまでもある程度共存させたい。

基本は下記サイトなどのモジュールを切り替えてApacheを再起動する方法をとる。

参考サイト:https://www.m-kobayashi.org/software/tools/Xampp_PHP_VUP.html


しかし、これだけでは動いてくれなかったので解決方法をメモしておく。


-その1-

VC11のランタイムがないのでApache + php5.6が起動しない

Microsoftの「Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ」のページから、vcredist_x64.exe, vcredist_x86.exeをダウンロードして、msvcp110.dllをインストールする。

https://www.microsoft.com/ja-jp/download/details.aspx?id=30679


-その2-

PHPのIntlが動かない

php56フォルダ内のic*.dllをapache\bin内にコピー


2021年11月24日水曜日

ローカルファイルのJavascript・JSONをCORSを無視して動かす

ローカル環境でJSONを読み込ませたい時にCORSの制限に引っかかりますよね。
取り合えずちょっと試したい時なんかの方法を探していたらありました。

先人に感謝です。

 

参考にしたサイト

FireFox

https://hint-life.hateblo.jp/entry/2020/03/02/164658

https://www.doraxdora.com/blog/2019/07/16/post-9131/

Chrome

https://www.doraxdora.com/blog/2019/06/14/post-8783/


上のサイトをまとめると、


FireFox

アドレスバーに「about:config」を入力して開き、「security.fileuri.strict_origin_policy」の値を、true から false に変更。


Chrome

起動オプションに--allow-file-access-from-filesをつけて管理者権限で起動すればいいらしい。

具体的には、

1.chrome.exeのショートカットを作成してそのプロパティの中でリンク先に上のオプションをつけます。

リンク先:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

2.ショートカットのプロパティの互換性タブの中の「管理者としてこのプログラムを実行する」にチェック。

Chromeが起動していない状態で作成したショートカットから起動。


確認方法:chromeのアドレスバーに「chrome://version」を入力して開きコマンドラインの項目に--allow-file-access-from-filesがあればOK。



2020年10月8日木曜日

FuelPHP1.8.2のSessionをレンサバで動かす

特に1.8.2はPHP7.3に対応してくれているのでFuelPHPで結構サイトを作成していたものとしては助かります。

個人的にはORMの方は問題なかったのですが、Session周りで困ったことが起こりました。
こんなエラーメッセージがログに残ります。


shutdown - Fuel requires Sodium support in PHP. Either use PHP 7.2+, install the libsodium PECL extension, of the sodium-compat composer package!


1.8.2でSessionでsodiumというのを利用するようになってまあそれがないという事なんですが、windowsとかroot持っているサーバなんかだとphp_libsodium.dllとかlibsodiumとかを入れて対応できたんですが、レンタルサーバではこのあたりの対応ができず動かない。

composerもうまくいかない。

ネットの知見を探して...ありました。

こちらのサイトを参考にさせていただいて事なきを得ました。

https://qiita.com/ookishin2018/items/5d17f75f8fdad4d8fa04


手順は以下の通りです。


githubからparagonie/sodium_compatをダウンロード

https://github.com/paragonie/sodium_compat


fuel/app/vender/にディレクトリ「paragonie」を作成して、解凍したsodium_compat-masterをsodium_compatにして設置


fuel/app/bootstrap.phpにautoload.phpを追加

require APPPATH ."vendor/paragonie/sodium_compat/autoload.php";


これでSessionが動きました。



sodium_compatの設置場所はfuel/vender/paragonie/にして、fuel/bootstrap.phpに「require COREPATH ."vendor/paragonie/sodium_compat/autoload.php";」とか書いたほうがいいかもしれないですね。



2020年4月23日木曜日

GMOクラウド ALTUS Basicでデータディスクの拡張 rootディスク編

GMOクラウドALTUSのコンソールでデータ用ディスクを作成してVMにアタッチする

LVMパーティションの作成
# fdisk /dev/xvdb
n ←新規
p ←基本領域
1 ←パーティションナンバー1
t ←タイプの変更
8e ←LVM
w ←書き込み

PVの作成
# pvcreate /dev/xvdb1

(fdiskせずにいきなりpvcreate /dev/xvdbでもいいらしい)

PVの確認
# pvdisplay -C

拡張したいLVが含まれるVGに新しいPVを追加
既存のVG:VolGroup
新しいPV:/dev/xvdb1
# vgextend VolGroup /dev/xvdb1

VGの確認
# vgdisplay -v VolGroup

LVの拡張
LV:/dev/VolGroup/lv_root
(VGの確認で拡張したいLVのパスを見ておく、/dev/VolGroup/lv_root)
# lvextend -l +100%FREE /dev/VolGroup/lv_root

ファイルシステムの拡張
# resize2fs /dev/VolGroup/lv_root

ファイルシステムが拡張されたか確認
# df -h

2017年2月4日土曜日

Photoshop CC 2017とChromeエクステンションの競合

新しいPCにしてフォトショ使おうとしたら起動しない。
イベントビューアでログを確認するとlavasoftTcpService64.dllが影響しているよう。
ググったり何やかやしていくうちに某銀行のネットバンキングで入れろと強制されたPhishWallがこのDLLを利用しているらしい。
C:\Windows\System32から外すかリネームしないとPhotoShopとChromeを同時に起動できない。
今のところ、某銀行のネットバンク使う時だけlavasoftTcpService64.dllを戻してPhishWallを有効にするしかない。
何とかならんものか。AdobeとPhishWallよ。

2/17追記
PhishWallのせいではなかった。
コントロールパネルの「プログラムのアンインストールまたは変更」でよく見ると、LavaSoftのWeb Companionというアプリケーションが入っていた。
BTOでマシンを買ったのだが、アンチウィルス系のソフトとして最初から入れられていたようだ。
これをアンインストールして問題解決。
嫌疑をかけてすまなかった、PhishWall。

2016年4月27日水曜日

MTの裏技

MTでこんな裏技がある。

http://www.ilovex.co.jp/blog/system/businessdevelopment/mt-category-archive.html


助かった。

MTBlogsタグの ignore_archive_context モディファイア を1にセットしてやると、アーカイブテンプレートでMTEntriesを取得可能。

助かった。


というかアーカイブテンプレートだからってMTEntries取得できへんようにせんでもいいやん。


2016年4月26日火曜日

mysqlのレストア

Linuxのmysqldumpでとったダンプを、WindowsのXAMPPのmysqlにレストアしようとすると「ERROR 1064 (42000) なんちゃら~」とエラーが出る。(冷や汗)
何も考えずに取ったダンプファイルなのでどうやら文字コードの問題らしい。

Linux側はUTF8なのでWindowsもあわせてやろうとmy.confでクライアントの設定をutf8とかにしてみてもダメ。
コマンドラインのオプションで指定するといけた。


文字コード指定のオプション
--default_character_set utf8

Linuxでダンプ
mysqldump データベース名 -u ユーザ名 -p > ダンプファイル

Windowsでレストア
mysql データベース名 -u ユーザ名 -p --default_character_set utf8  < ダンプファイル