Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法
Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法について紹介します。
1.問題点
Windows10にインストールしたXAMPPの起動(xampp-control.exe)時、言語選択のダイアログが表示されます。
が、このあと、「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」というエラーが表示されます。
ただしXAMPP自体はこのあと正常に立ち上がります。
ということで、Windows10+XAMPP起動時に「Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました」となる不具合の対処方法について紹介します。
2.原因
おそらく原因は管理者権限でXAMPPが起動できていないためと思われます。
3.対処方法
管理者権限でエディタを開きます。ここではメモ帳で行ってみます(他のエディタでも構いません)。
「スタート」→「Windowアクセサリ」をクリックして開き、「メモ帳」を右クリックして「その他」→「管理者として実行」を選択。
「このアプリがデバイスに変更を加えることを許可しますか?」と聞かれるので「はい」をクリック。
メモ帳の「ファイル」→「開く」を選択。
右下のファイルの種類を「すべてのファイル」に変更して、C:\xampp直下にあるxampp-control.iniを選択して、「開く」をクリック。
「Language=」の行を「Language=en」に変更して保存します。
これでXAMPPを起動すれば言語の選択やエラーが表示されずに起動します。
4.その他
XAMPPを起動する場合、xampp-control.exeを右クリックして「管理者として実行」を選択すると、日本語の画面が表示されます。
ただしこの方法ではMySQLやApacheが正常に起動しないようです。
Workflowプラグイン(個別多段階承認版)
Movable Type 7対応のWorkflowプラグイン(個別多段階承認版)を現在開発中です。
1.機能
以前、「Movable Type「Workflowプラグイン」に記事単位のワークフロー機能追加」をリリースしましたが、今回は記事単位のワークフロー用の多段階承認グループの作成機能を追加します。
グループ作成で下記の用に多段階承認ユーザーを改行区切りで設定します。
記事をワークフロー対象にします。
この記事を承認待ち状態にすると「承認依頼」フィールドが表示され、承認グループを選択します。
さきほど作成した承認グループを選択すると、グループに登録されているユーザーが表示されます。一番上のユーザーから多段階承認になります。
承認依頼をするとステータスが承認待ちになります。
2.プラグインのダウンロード
Workflowプラグインの詳細については下記のリンクからどうぞ。
Windows10+XAMPP+Merburyでメールを送信する方法
Windows10+XAMPP+Mercuryでメールを送信する方法を紹介します。
1.はじめに
Windows10+XAMPPでメールを送信する必要が生じました。
調べたところ、XAMPPにバンドルされているMercuryというメールソフトを設定すれば送信可能になるようです。
ただ現在、ほとんどのISPは、「OP25B(Outbound port 25 Blocking)」というスパムメール対策のため、ポート25番を利用したメールを遮断しています。
そこでMercuryは、PC内部からの送信メールを、ISPのメール送信サーバにめがけて送信することで、外部へのメール送信を実現しているようです。
ということで、Windows10+XAMPP+Mercuryでメールを送信する方法を紹介します。
2.Windows10+XAMPP+Mercuryでメールを送信する
XAMPPを起動後、Mercuryの「Start」をクリック。
セキュリティ警告が表示されるので「アクセスを許可する」をクリック。
Mercuryの「Admin」をクリック。
「Configuration」→「Protocol modules...」をクリック。
「MercuryS SMTP server」と「MercuryC SMTP relaying client」の2つをチェックし、他のチェックを外して「OK」をクリック。
「Configuration」→「MercuryS SMTP Server」をクリック。
「Connection control」タブの「Do not permit SMTP relaying of non-local mail」のチェックを外して「OK」をクリック。
これで設定画面をすべて閉じます。Mercuryが停止するので、Mercuryをもう一度起動して「Admin」をクリック。
「Configuration」から「MercuryC SMTP Client」をクリック。
「SMTP "Smart" Host details」に中継する送信メールサーバの情報を設定します。ここでは私の利用しているSo-netの送信メールサーバの情報を設定します。
Smart host name:ISPの送信メールサーバを(ここでは"mail.so-net.ne.jp")設定
Connection port/type:"587"および「SSL encryption via STARTTLS commanmd」を設定
また、「Credentials for SMTP Authentication if required」に中継する送信メールサーバの認証情報を設定します。
Login username:ユーザー名
Password:パスワード
設定完了後、Mercuryが停止するので、Startをクリックして再度起動します。これで今までの設定が反映された状態でMercuryが起動します。
最後に、メールを送信するアプリケーションにMercuryの送信メールサーバ情報を設定します。PHPを利用する場合は、php.iniに次の内容を設定します。
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = (送信元メールアドレス)
私はMovable Typeから送信するため、mt-config.cgiに下記の設定を追加します。
MailTransfer smtp
SMTPServer localhost
SMTPPort 25
これでPHPアプリケーションやMovable Typeからメールを送信し、送信先のメールアドレスに届いていればOKです。
4.参考サイト
参考サイトは下記です。ありがとうございました。