2015年10月12日月曜日

VMware VCenter serverで.dmpファイルがディスク容量食う

  • このエントリーをはてなブックマークに追加


VCenter serverである時点から”VMware vCenter Update Manager Check Notification”という通知がたくさん蓄積してきました。これが原因でVcenter server上でvmware-updatemgr-7837.dmpのような.dmpファイルが増えて、ディスク容量を消費しています。

一般的なシステムエラーが発生しました:Failed to write to C:\Documents and Settings\All Users\Application Data\VMware VirtualCenter\journal\<number>:
Error writing file.There is not enough space on the disk.

 

ログには以下のようなエラーが出力された。

image

http://www.natestiller.com/2011/02/vcs-vsphere-check-new-notifications-stuck-on-queued-vmware-vcenter-update-manager-check-notification/

で紹介された方法でできそうですが、自分の環境では、うまく行かず。

”net stop vmware-ufad-vci” 

“net start vmware-ufad-vci”

 

仕方なく代替手段として、タスクスケジューラーで定期的にファイルを削除するようにしました。

バッチファイルは下記です。

del "C:\Documents and Settings\All Users\Application Data\VMware\VMware Update Manager\Logs\vmware-updatemgr-*.dmp"

2015年10月11日日曜日

PHP4でsimplexml_load_file()と同等の機能を実装

  • このエントリーをはてなブックマークに追加


最近、仕事でXMLファイルを加工するPHPスクリプトを書いています。テスト環境で、PHP5でしたので、simplexml_load_file()を使って、ファイルをロードし、XML各要素の値を出しています。
こちらsimplexml_load_fileの紹介をご参照ください。
基本的な SimpleXML の使用法 ¶


しかし、本番環境に持って行ったら、なんとPHPのバージョンは4点台だった。参りましたね。スクリプトを書く前にきちんと本番環境を確認しないと、実感しました。

で、PHPのバージョンも上げるのかありだが、それはちょっと影響範囲が大きいため、諦めた。そして、simplexml_load_file()のような機能がPHP4であるかどうか調べたら、ありましたよ。助かりました。

Implementation of simplexml_load_file() in PHP4

miniXMLというライブラリを使えば実現できます。
miniXMLはこちらからダウンロードしてください。
http://sourceforge.net/projects/minixml/


自分で簡単にサンプルコードも作ってみました。
======================================================
<?php
/* xml sample file
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
*/

require_once(".\minixml-1.3.8\minixml.inc.php");
$xml = new MiniXMLDoc();
$xml->fromFile('.\movies.xml');
$rootElement = & $xml->getRoot();

$movie = $rootElement->getElementByPath('movie');
$title = $rootElement->getElementByPath('movie/title')->getValue();
echo "$title\n";

$characters = $movie->getElementByPath('characters');
$characters_all = $characters->getAllChildren('character');
foreach($characters_all as $c){
  $name = $c->getElementByPath('name')->getValue();
  $actor = $c->getElementByPath('actor')->getValue();
  echo "$name,$actor\n";
}

$plot = $movie->getElementByPath('plot')->getValue();
echo "$plot\n";

$greatlines = $movie->getElementByPath('great-lines');
$greatlines_all = $greatlines->getAllChildren('line');
foreach($greatlines_all as $l){
  $greatline = $l->getValue();
  echo "$greatline\n";
}

$ratings = $movie->getAllChildren('rating');
foreach ($ratings as $r){
  $type = $r->xattributes['type'];
  $rating = $r->getValue();
  echo "$type,$rating\n";
}
?>
======================================================


実行結果は下記の通りです。
c:\php>php parsexml.php
PHP: Behind the Parser
Ms. Coder,Onlivia Actora
Mr. Coder,El ActÓr
So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
PHP solves all my web problems
thumbs,7
stars,5

XMLの要素を全部出力できました。



PHP configure時によくあるエラー

  • このエントリーをはてなブックマークに追加


CentOS/RedHatではPHP ソースからインストールする場合、Configure時によくあるエラー一覧です。


configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum install libxslt-devel

configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.

yum install net-snmp-devel

configure: error: Please reinstall readline - I cannot find readline.h

yum install readline-devel

configure: error: Cannot find pspell

yum install aspell-devel

checking for unixODBC support... configure: error: ODBC header file '/usr/include/sqlext.h' not found!

yum install unixODBC-devel

configure: error: Unable to detect ICU prefix or /usr/bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works.

yum install libicu-devel

configure: error: utf8mime2text() has new signature, but U8TCANONICAL is missing. This should not happen. Check config.log for additional information.

yum install libc-client-devel

configure: error: freetype.h not found.

yum install freetype-devel

configure: error: xpm.h not found.

yum install libXpm-devel

configure: error: png.h not found.

yum install libpng-devel

configure: error: vpx_codec.h not found.

yum install libvpx-devel

configure: error: Cannot find enchant

yum install enchant-devel

configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/

yum install libcurl-devel