<?xml version="1.0" encoding="UTF-8" ?>
<feed xml:lang="ja" xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="text">ふぁいんどぱわー　調べる人の冒険！（チラシの裏よりチョット上）</title>
  <subtitle type="html">ダメを重ねて超えて行く！？かも</subtitle>
  <link rel="self" type="application/atom+xml" href="http://gete.blog.shinobi.jp/atom"/>
  <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/"/>
  <updated>2009-06-06T05:05:23+09:00</updated>
  <author><name>No Name Ninja</name></author>
  <generator uri="//www.ninja.co.jp/blog/" version="0.9">忍者ブログ</generator>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
  <entry>
    <id>gete.blog.shinobi.jp://entry/134</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/134/" />
    <published>2022-12-07T14:53:40+09:00</published> 
    <updated>2022-12-07T14:53:40+09:00</updated> 
    <category term="リモートデスクトップ(RDP)の調べ物" label="リモートデスクトップ(RDP)の調べ物" />
    <title>Windows からMac にChrome リモートデスクトップで接続した時のキーボードのキーマップ</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[前からWindows からMac へ色々リモート接続して<br />
デスクトップがうまく扱えないから困っていた。<br />
<br />
凄く簡単な方法で解決が出来た１つ。<br />
文字入力を切り替えたい。<br />
<br />
これが意図も簡単に出来た。<br />
<br />
Chrome リモートデスクトップでMac に接続<br />
<br />
ウィンドウの枠、右辺に(◁ のマークがあるので、これが設定ボタンなのでこれを押す。<br />
<br />
その後、「キーマッピング設定」を選ぶ。<br />
<br />
まず、<br />
①かな入力可能なモードにする為のボタンをキーで設定する。<br />
<br />
新しいマッピングを選び<br />
マッピング元のキー<br />
<span style="color: #616161; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; white-space: nowrap;">KanaMode</span><br />
マッピング先のキー<br />
<span style="color: #616161; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; white-space: nowrap;">Lang1<br />
を選択して<span style="color: #99cc00;">✔</span><br />
</span>を押して保存<br />
<br />
これで何と！<br />
Windows の「<span style="color: #333399; font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 14.4px; orphans: 3; widows: 3; background-color: #d0dafd;">カタカナ/ひらがな/ローマ字</span>」キーでリモート側のMac の「<span style="color: #666699; font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 14.4px; orphans: 3; widows: 3; background-color: #e8edff;">かな</span>」を押した事になる。<br />
<br />
次に、<br />
②無変換なモードにする為のボタンをキーで設定する。<br />
<br />
新しいマッピングを選び<br />
マッピング元のキー<br />
<span style="color: #616161; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; white-space: nowrap;">NonConvert</span><br />
マッピング先のキー<br />
<span style="color: #616161; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; white-space: nowrap;">Lang2</span><span style="color: #616161; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; white-space: nowrap;"><br />
を選択して<span style="color: #99cc00;">✔</span><br />
</span>を押して保存<br />
<br />
これで何と！<br />
Windows の「<span style="color: #666699; font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 14.4px; orphans: 3; widows: 3; background-color: #e8edff;">無変換</span>」キーでリモート側のMac の「<span style="color: #666699; font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 14.4px; orphans: 3; widows: 3; background-color: #e8edff;">英数</span>」を押した事になる。<br />
<br />
<br />
結果こんな感じ<br />

<table class="i3WFpf" style="-webkit-tap-highlight-color: transparent; table-layout: fixed; position: relative; min-width: 100%; border-collapse: collapse; white-space: nowrap; color: #616161; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 14px;">
<thead class="QUcFSc" style="-webkit-tap-highlight-color: transparent; padding-bottom: 3px;">
<tr jscontroller="ou2Ijb" jsname="mappingTableHeader" class="BYcqmc" jsshadow="" style="-webkit-tap-highlight-color: transparent;"><th class="ZdiZXe AB6Eee O04Ubf CskD7" aria-sort="none" data-default-sort-order="ascending" style="-webkit-tap-highlight-color: transparent; padding: 0px 18px 8px 24px; text-align: left; position: sticky; vertical-align: bottom; text-overflow: ellipsis; line-height: 24px; letter-spacing: 0px; height: 48px; font-size: 13px; color: var(--text-color); box-sizing: border-box; top: 0px; background-color: var(--element-hover-color); z-index: 1; width: 180px;"><span jsslot="" class="npD1Gc" style="-webkit-tap-highlight-color: transparent; vertical-align: middle;"><span style="-webkit-tap-highlight-color: transparent;">マッピング元のキー</span></span></th><th class="ZdiZXe AB6Eee O04Ubf CskD7" aria-sort="none" data-default-sort-order="ascending" style="-webkit-tap-highlight-color: transparent; padding: 0px 18px 8px; text-align: left; position: sticky; vertical-align: bottom; text-overflow: ellipsis; line-height: 24px; letter-spacing: 0px; height: 48px; font-size: 13px; color: var(--text-color); box-sizing: border-box; top: 0px; background-color: var(--element-hover-color); z-index: 1; width: 180px;"><span jsslot="" class="npD1Gc" style="-webkit-tap-highlight-color: transparent; vertical-align: middle;"><span style="-webkit-tap-highlight-color: transparent;">マッピング先のキー</span></span></th><th class="ZdiZXe AB6Eee O04Ubf CskD7" aria-sort="none" data-default-sort-order="ascending" style="-webkit-tap-highlight-color: transparent; padding: 0px 24px 8px 18px; text-align: left; position: sticky; vertical-align: bottom; text-overflow: ellipsis; line-height: 24px; letter-spacing: 0px; height: 48px; font-size: 13px; color: var(--text-color); box-sizing: border-box; top: 0px; background-color: var(--element-hover-color); z-index: 1; width: 180px;"><span jsslot="" class="npD1Gc" style="-webkit-tap-highlight-color: transparent; vertical-align: middle;"></span></th></tr>
</thead>
<tbody jsname="UqzBoe" style="-webkit-tap-highlight-color: transparent;">
<tr class="nJ0sOc j7Ecge" jscontroller="qLYC9e" jsaction="click:AJI9fd;" jsshadow="" style="-webkit-tap-highlight-color: transparent; position: relative; height: 48px; border-top: none; border-bottom: 1px solid rgba(0, 0, 0, 0.12); transition-duration: 0.28s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: background-color; background-color: transparent;">
<td class="XgRaPc AB6Eee O04Ubf" style="-webkit-tap-highlight-color: transparent; padding: 0px 18px 0px 24px; position: relative; vertical-align: middle; height: 48px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; width: 180px;">
<div class="nossed" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px;">KanaMode</div>
</td>
<td class="XgRaPc AB6Eee O04Ubf" style="-webkit-tap-highlight-color: transparent; padding: 0px 18px; position: relative; vertical-align: middle; height: 48px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; width: 180px;">
<div class="nossed" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px;">Lang1</div>
</td>
<td class="XgRaPc AB6Eee" style="-webkit-tap-highlight-color: transparent; padding: 0px 24px 0px 18px; position: relative; vertical-align: middle; height: 48px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis;">
<div class="v8oIob" jsaction="JIbuQc:IP9Z4c(KULyQ)" data-from-key="KanaMode" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px; width: 123px; text-align: right;">
<div role="button" class="U26fgb mUbCce fKz7Od M9Bg4d" jscontroller="VXdfxd" jsaction="click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventMouseEvents=true|preventDefault=true); touchcancel:JMtRjd;" jsshadow="" jsname="KULyQ" aria-label="マッピングを削除" aria-disabled="false" tabindex="0" data-tooltip="マッピングを削除" data-tooltip-vertical-offset="-12" data-tooltip-horizontal-offset="0" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px; user-select: none; transition: background 0.3s ease 0s; border-radius: 50%; cursor: pointer; display: inline-block; flex-shrink: 0; height: 48px; outline: none; overflow: hidden; position: relative; text-align: center; width: 48px; z-index: 0; color: rgba(0, 0, 0, 0.54); fill: rgba(0, 0, 0, 0.54);">
<div class="VTBa7b MbhUzd" jsname="ksKsZd" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px; transform: translate(-50%, -50%) scale(0); transition: opacity 0.2s ease 0s, visibility 0s ease 0.2s, transform 0s ease 0.2s, -webkit-transform 0s ease 0.2s; background-size: cover; left: 0px; opacity: 0; pointer-events: none; position: absolute; top: 0px; visibility: hidden; background-image: radial-gradient(circle farthest-side, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.12) 80%, rgba(0, 0, 0, 0) 100%);"></div>
<span jsslot="" class="xjKiLb" style="-webkit-tap-highlight-color: transparent; position: relative; top: 50%;"><span class="Ce1Y1c" style="-webkit-tap-highlight-color: transparent; display: inline-block; position: relative; top: -12px;"><span class="DPvwYc" aria-hidden="true" style="-webkit-tap-highlight-color: transparent; font-family: 'Material Icons Extended'; font-size: 24px; line-height: 1; text-rendering: optimizelegibility; display: inline-block; overflow-wrap: normal; direction: ltr; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased;"><span class="iRsRDd" style="-webkit-tap-highlight-color: transparent; color: #757575; opacity: 0.4; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 1ms;"><br />
</span></span></span></span></div>
</div>
</td>
</tr>
<tr class="nJ0sOc j7Ecge" jscontroller="qLYC9e" jsaction="click:AJI9fd;" jsshadow="" style="-webkit-tap-highlight-color: transparent; position: relative; height: 48px; border-top: none; border-bottom: 1px solid rgba(0, 0, 0, 0.12); transition-duration: 0.28s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: background-color; background-color: rgba(0, 0, 0, 0.05);">
<td class="XgRaPc AB6Eee O04Ubf" style="-webkit-tap-highlight-color: transparent; padding: 0px 18px 0px 24px; position: relative; vertical-align: middle; height: 48px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; width: 180px;">
<div class="nossed" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px;">NonConvert</div>
</td>
<td class="XgRaPc AB6Eee O04Ubf" style="-webkit-tap-highlight-color: transparent; padding: 0px 18px; position: relative; vertical-align: middle; height: 48px; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; width: 180px;">
<div class="nossed" style="-webkit-tap-highlight-color: transparent; vertical-align: baseline; margin: 0px; padding: 0px; border: 0px;">Lang2</div>
</td>
</tr>
</tbody>
</table>
<br />
<br />
キーの出所はここで調べるのである！<br />
<a href="https://www.w3.org/TR/DOM-Level-3-Events-code/#functional-keys" title="" target="_blank">https://www.w3.org/TR/DOM-Level-3-Events-code/#functional-keys</a><br />
<br />

<table class="data-table full-width" id="table-key-code-alphanumeric-functional-2" style="overflow-wrap: normal; hyphens: manual; border-collapse: collapse; width: 800px; color: #000000; font-family: sans-serif;"><caption style="font-style: italic; font-size: 14.4px;">List of code values for functional keys found on Japanese and Korean keyboards.</caption>
<thead>
<tr><th style="text-align: start; background: none 0px 0px repeat scroll #b9c9fe; border-bottom: 1px solid #ffffff; border-top: 4px solid #aabcfe; color: #003399; font-weight: normal; padding: 0.4em 1em; width: 152.667px;"><code class="idl" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: inherit; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid;"><a data-link-type="idl" href="http://www.w3.org/TR/uievents/#interface-keyboardevent" style="text-decoration-line: none; text-decoration-color: var(--a-normal-underline); border-bottom: 1px solid #707070; padding: 0px 1px; margin: 0px -1px; text-decoration-skip-ink: none;">KeyboardEvent</a></code>.<code class="idl" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: inherit; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid;"><a data-link-type="idl" href="http://www.w3.org/TR/uievents/#dom-keyboardevent-code" style="text-decoration-line: none; text-decoration-color: var(--a-normal-underline); border-bottom: 1px solid #707070; padding: 0px 1px; margin: 0px -1px; text-decoration-skip-ink: none;">code</a></code></th><th style="text-align: start; background: none 0px 0px repeat scroll #b9c9fe; border-bottom: 1px solid #ffffff; border-top: 4px solid #aabcfe; color: #003399; font-weight: normal; padding: 0.4em 1em; width: 583.333px;">Notes (Non-normative)</th></tr>
</thead>
<tbody>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-Convert" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"Convert"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Japanese:&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">変換</code>&nbsp;(<span class="unicode">henkan</span>)</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-KanaMode" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"KanaMode"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Japanese:&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">カタカナ/ひらがな/ローマ字</code>&nbsp;(<span class="unicode">katakana/hiragana/romaji</span>)</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-Lang1" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"Lang1"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Korean: HangulMode&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">한/영</code>&nbsp;(<span class="unicode">han/yeong</span>)<br />
Japanese (Mac keyboard):&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">かな</code>&nbsp;(<span class="unicode">kana</span>)</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-Lang2" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"Lang2"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Korean: Hanja&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">한자</code>&nbsp;(<span class="unicode">hanja</span>)<br />
Japanese (Mac keyboard):&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">英数</code>&nbsp;(<span class="unicode">eisu</span>)</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-Lang3" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"Lang3"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Japanese (word-processing keyboard): Katakana</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-Lang4" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"Lang4"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Japanese (word-processing keyboard): Hiragana</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-Lang5" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"Lang5"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Japanese (word-processing keyboard): Zenkaku/Hankaku</td>
</tr>
<tr>
<td class="code-table-code" style="vertical-align: top; background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;"><code class="code" id="code-NonConvert" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; color: #191970; background-color: #ffc4ff; padding: 0px 2px; border: 1px solid #f0a4f0; border-radius: 3px;">"NonConvert"</code></td>
<td style="background-image: none; background-position: 0px 0px; background-repeat: repeat; background-attachment: scroll; background-color: #e8edff; border-bottom: 1px solid #ffffff; border-top: 1px solid transparent; color: #666699; padding: 0.4em 1em;">Japanese:&nbsp;<code class="keycap" style="font-family: Menlo, Consolas, 'DejaVu Sans Mono', Monaco, monospace; font-size: 0.9em; break-inside: avoid; hyphens: none; font-variant-numeric: normal; font-variant-east-asian: normal; orphans: 3; widows: 3; break-before: avoid; padding: 0px 2px; border: 1px solid black; border-radius: 3px;">無変換</code>&nbsp;(<span class="unicode">muhenkan</span>)</td>
</tr>
</tbody>
</table>
<p style="margin: 1em 0px; font-family: sans-serif; font-size: medium;">On Apple keyboards, some keys on the bottom row are omitted and others are arranged in a different order.</p>
<br />
これだけで日本語入力に困る事がかなり減る。<br />
<br />
なんでこれだけの事をささっとしなかったのだろうと思う（今頃）。<br />
<br />
ググっても無さそうだったんで、ブログにメモしておくことにした。<br />
<br />
お粗末でした＜＿　＿＞<br />
<br />
<br />
<br />
]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/133</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/133/" />
    <published>2020-08-03T00:31:56+09:00</published> 
    <updated>2020-08-03T00:31:56+09:00</updated> 
    <category term="PHP の調べ物" label="PHP の調べ物" />
    <title>CRON が動いてるかPHPのメール送信使えば楽じゃん！っていう話題</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[CRON って誰権限で動いてるだ？！<br />
これ、ちゃんと動いてるのか？<br />
そういった事に困るとき、<br />
ふと思った。。。<br />
<br />
ドメインがあってメール送信できる場合には、<br />
適当に自身の持ってるメアドにCRONが動いたときに送ればいいじゃん！<br />
っていう。<br />
<br />
<br />
php -r "mail('自分のメアド','test cron','test msg','好きなアドレス@CRONが動いてるドメインのメアド');"<br />
<br />
<br />
こんだけぇ~でいい。<br />
<br />
後は、これをCRON で　* * (～～～　好きな時間を指定して~~~略~~~~ ～～～）<br />
＋上記の一行入れれば、PHPが動く環境なら適当なメッセージが飛び込んでくる。<br />
<br />
; で区切れば複数できるだろうし、<br />
なんとかんる！<br />
<br />
こりゃ便利。<br />
<br />

<div id="gtx-anchor" style="position: absolute; visibility: hidden; left: 86px; top: 203px; width: 160px; height: 16px;"></div>
<div class="jfk-bubble gtx-bubble" role="alertdialog" aria-describedby="bubble-2" style="visibility: visible; left: 151px; top: 229px; opacity: 1;">
<div class="jfk-bubble-content-id" id="bubble-2">
<div id="gtx-host" style="min-width: 200px; max-width: 400px;"></div>
</div>
<div class="jfk-bubble-closebtn-id jfk-bubble-closebtn" aria-label="Close" role="button" tabindex="0"></div>
<div class="jfk-bubble-arrow-id jfk-bubble-arrow jfk-bubble-arrowup" style="left: 158px;">
<div class="jfk-bubble-arrowimplbefore"></div>
<div class="jfk-bubble-arrowimplafter"></div>
</div>
</div>]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/132</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/132/" />
    <published>2020-07-29T13:00:46+09:00</published> 
    <updated>2020-07-29T13:00:46+09:00</updated> 
    <category term="Linux 関連 調べ物" label="Linux 関連 調べ物" />
    <title>カレントディレクトリの上のディレクトリ毎の総数を知る(du + sort + less)</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[あぁ。無駄にルートディレクトリとかから総数をdu コマンドで<br />
知ろうとして、それが何処かのクラウドで、<br />
<br />
<span style="font-family: 'ＭＳ Ｐゴシック', Osaka, 'ヒラギノ角ゴ Pro W3', sans-serif;">export LINES=75<br />
</span><span style="font-family: 'ＭＳ Ｐゴシック', Osaka, 'ヒラギノ角ゴ Pro W3', sans-serif;">export COLUMNS=80<br />
<br />
とかして、画面の縦長とかにしても、うまくいかず、risize コマンドも<br />
インストールされておらず、しかも、ブラウザ上のコンソールだから、<br />
それが動くかどうかも、検討つかず、サーバーを再起動する訳にも行かず。。。。<br />
<br />
うん＠ｘ＠<br />
<br />
パイプを使おう、あぁ、使おう。<br />
<br />
で、こうなった＾ｘ＾；<br />
<br />
<br />
[xxxx]# du -s -c ./*/ | sort -gr | less<br />
<br />
sort -gr&nbsp; で、数値(g)降順(r)<br />
less で止めて、数の多い物から見つけた所を、スクロールの頭でキャッチ<br />
<br />
<br />
これだけでいい、寧ろ、これ以外面倒。<br />
<br />
忘れるの嫌だから、( ..)&phi;メモメモしてみた。。。<br />
<br />
<br />
<br />
<br />
お粗末でした＜＿　＿＞</span>]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/131</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/131/" />
    <published>2018-08-30T06:19:20+09:00</published> 
    <updated>2018-08-30T06:19:20+09:00</updated> 
    <category term="携帯、スマホ、タブレットの調べ物" label="携帯、スマホ、タブレットの調べ物" />
    <title>g07++(CP-J55aX) の使える周波数、Bandのメモ</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[古いガラケーを持っていた私が、<br />
家族がAU 私もAU で通話し放題を失いたくないから<br />
このg07++(CP-J55aX)&nbsp; にして<br />
データ通信だけ使い放題で安いDocomo 系のsim 使っている。<br />
<br />
あれ・・・　おかしいぞ！？<br />
Docomo のSIM って3G?4Gどっちだっけ？！<br />
契約調べればいいけど、そもそもこの携帯、<br />
どっちでどう思ってSIM を選んだんだっけ？<br />
<br />

<h3><span style="text-decoration-line: underline;">もうね、何度調べても忘れるから</span></h3>
<h3><span style="text-decoration-line: underline;">ここに( ..)&phi;メモメモ</span></h3>
<br />
<br />
<br />
まず、噂話から信じて<br />
ここ<br />
<a href="https://yourfones.net/detail/goo-g07-plus2/" title="" target="_blank">https://yourfones.net/detail/goo-g07-plus2/</a><br />
では<br />

<div>ネットワーク<span style="white-space: pre;"> </span>LTE：B1(2100) / B3(1800) / B8(900) / B19(800)</div>
<div>W-CDMA：B1(2100) / B6(800) / B8(900)</div>
<div>GSM：850 / 900 / 1800 / 1900 MHz</div>
<div>CDMA2000：BC0(800) / BC6(2000)</div>
<div><br />
ほー＠＠；<br />
<br />
次に<br />
ここ<br />
<a href="https://smalife.info/%E3%82%B3%E3%83%B4%E3%82%A3%E3%82%A2-g07%E3%81%AE%E7%89%B9%E9%95%B7%E3%83%BB%E4%BE%A1%E6%A0%BC%E6%AF%94%E8%BC%83%E3%83%BB%E6%B3%A8%E6%84%8F%E7%82%B9%E3%83%BB%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF/" title="" target="_blank">https://smalife.info/%E3%82%B3%E3%83%B4%E3%82%A3%E3%82%A2-g07%E3%81%AE%E7%89%B9%E9%95%B7%E3%83%BB%E4%BE%A1%E6%A0%BC%E6%AF%94%E8%BC%83%E3%83%BB%E6%B3%A8%E6%84%8F%E7%82%B9%E3%83%BB%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF/</a><br />
では<br />
<br />
auの3G回線通信方式CDMA2000 BC(800)/BC6(2000)に対応している。</div>
<br />
*表の色付き部分はプラチナバンドと言われる700Mzから900MHz周波数。*Band19はdocomo LTEプラチナバンドで、Band18とBand26はau LTEプラチナバンド、Band8はsoftbank LTEプラチナバンド<br />
<br />
*表の色付き部分はプラチナバンドと言われる700Mzから900MHz周波数。 *800MHz(Band6とBand19)、はFOMAプラスエリア、900MHz(Band8)はsoftbank プラチナバンド。<br />
<br />
とか、表があって、○&times;が書いてある<br />
<br />
意味が分からない、同じバンドなのに、○がキャリアーによってなかったりする・・・<br />
キャリアー側がそもそも、そのバンドを使ってないだけじゃ？？？<br />
これって対応してるのはしてるとかじゃ？<br />
それでないと辻褄が合わない・・・・<br />
<br />
他、取り扱っている所<br />
<a href="http://www.fleaz-mobile.com/support_g07plusplus.html" title="" target="_blank">http://www.fleaz-mobile.com/support_g07plusplus.html</a><br />
細かく記載されてない・・・<br />
<br />
<br />
ということで<br />
もう、こうなったら本体側でSIMのスロットや、<br />
対応する電波の情報が出せないか検索してみた<br />
https://rezv.net/android/31484/<br />
<br />
開発モードにしてからだと知ることが出来るみたい。<br />

<div></div>
<div></div>
<div>Andorido の</div>
<div>「端末情報」＞「ビルド番号」を７回タップ</div>
<div><br />
「開発者向けオプション」が表示される<br />
<br />
「開発者向けオプション」中に入り　OFF をON(既にONならそもそもこの辺はしなくていい)<br />
<br />
それで電話をかける！（裏コマンド）<br />
<br />
ダイアラーで<br />
<span style="text-decoration: underline;">*#*#3646633#*#*</span><br />
<br />
（余談だけど、昔、他の事で　*#*#4636#*#* をしたメモがあった）<br />
<br />
そうすると、いきなり「EngineeringMode」 っていうウィンドウが開く<br />
<br />
そこからBand Mode っていうのを選択すると、SIM1 かSIM2 選べた。<br />
<br />
そこのメモが以下</div>
<div>Band Mode</div>
<div></div>
<div>-----------------------------------------------------</div>
<div>SIM1</div>
<div>-----------------------------------------------------</div>
<div>GSM Mode</div>
<div>-------------------</div>
<div>EGSM900</div>
<div>DCS1800</div>
<div>PCS1900</div>
<div>GSM850</div>
<div>-------------------</div>
<div>UMTS Mode</div>
<div>-------------------</div>
<div>WCDMA-IMT-2000</div>
<div>WCDMA-800</div>
<div>WCDMA-GSM-900</div>
<div>-------------------</div>
<div>SDMA Mode</div>
<div>-------------------</div>
<div>Band 0(North Amerian Celluar Band)</div>
<div>Band 6(IMT-2000 band)</div>
<div></div>
<div>-----------------------------------------------------</div>
<div>SIM2</div>
<div>-----------------------------------------------------</div>
<div>GSM Mode</div>
<div>-------------------</div>
<div>EGSM900</div>
<div>DCS1800</div>
<div>PCS1900</div>
<div>GSM850</div>
<div>-------------------</div>
<div>UMTS Mode</div>
<div>-------------------</div>
<div>WCDMA-IMT-2000</div>
<div>WCDMA-800</div>
<div>WCDMA-GSM-900</div>
<div>-------------------</div>
<div>LTE Mode</div>
<div>-------------------</div>
<div>Band 1</div>
<div>Band 3</div>
<div>Band 8</div>
<div>Band 19</div>
<div>-------------------</div>
<div>CDMA Mode</div>
<div>-------------------</div>
<div>Band 0(North American Celluar Band)</div>
<div>Band 6(IMT-2000 band)</div>
<div></div>
<div>&nbsp;<br />
&nbsp;</div>
<div>どうも、スロットによっては使える帯域が違うんだね<br />
知らずにこれまでハマらなかったのは、<br />
キャリアー側が回避してるのかもしれない。<br />
<br />
AU ってガラケー3G のSIM はmicroSIM とかnanoSIM とかない！<br />
設定をしてくれて提示されるのは普通の大きさのSIM しかない。<br />
<br />
偶然なのか、必然なのか？<br />
よくわからないけど、中国製等のDSDS(ダブルシムのダブルの待ち受け) のスマホな<br />
g07++(CP-J55aX) は、片方が通常の大きさのSIM でもう片方はmicroSIM なんだよね！<br />
<a href="http://www.fleaz-mobile.com/g07plusplus/wqig/index.html" title="" target="_blank">http://www.fleaz-mobile.com/g07plusplus/wqig/index.html</a><br />
<br />
なんで、AUの3G(ガラケー)のSIM だと必然的にSIM1 の普通の大きさのSIM の方を使うんだよね。。。<br />
<br />
（<span style="text-decoration: underline;">話が長くなるので</span>、スマホに3G ガラケーのSIM はそのまま移せないよ！<br />
　理由はAU がそのガラケーでしか使えない様にSIM を設定しているから、<br />
　なんでこのスマホ使いたければ、AU ショップで3GのSIM を使いたいから<br />
　※<span style="text-decoration: underline;">4G のSIM</span> にしないで※１<br />
　※ガラケー情報を新に書き込んだ3G のSIM の新しい物を※２<br />
　※このスマホに入れて最初に起動して！※３<br />
　ってお願いする方法で移行するのです。<br />
　すると自己責任でお願いしますって言ってくるので、口約束だけどOKするとしてくれる。<br />
　勿論そうすると、古いガラケーのSIMは使えなくなって、新しいスマホに入れたSIM を<br />
　ガラケーに入れても使えないはず（未確認だけど情報が壊れるかもだから怖くてしてない、<br />
　多分できない、AU がそういう管理の仕方をしている）<br />
（もう既に長かったｗ））<br />
<br />
話長くなりすぎて、何書きたかったか忘れながらやってるから、<br />
まぁ、いいや、バンドだけは書いた（つもり）。<br />
<br />
いつもの長いメモでした。<br />
お粗末＜＿　＿＞</div>]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/129</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/129/" />
    <published>2018-03-06T19:20:41+09:00</published> 
    <updated>2018-03-06T19:20:41+09:00</updated> 
    <category term="PHP の調べ物" label="PHP の調べ物" />
    <title>PHP のextension_dir の相対パス (relative path)はApache のbin からのパス！！！</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[Apache Module で呼び出すPHP のextension_dir の相対パス(relative path)<br />
についてのメモ<br />
<br />
※Windows もLinux も一緒であるか分からないです※<br />
Windows でApache とPHP の入っているディレクトリごと<br />
好きな場所に移動して、バッチファイルから実行したいので<br />
迷った時のメモです。<br />
<br />
<br />
PHP の<br />
extension_dir のパス<br />
Windows なら<br />
C:\xxxx\xxxx<br />
<br />
とか絶対パスで書く方法しかこれまで使ったことがなかったので<br />
相対パスだとどうなるか、あれこれやっても動かないので困っていました。<br />
<br />
もしかして・・・と思い、<br />
Apache のbin から見た相対的なアドレスを書いてみました。<br />
<br />
xxx\Apache\bin\<br />
(httpd.exe のあるフォルダ)<br />
と<br />
xxx\php\ext\<br />
(拡張のフォルダ)<br />
があったとします。<br />
<br />
そうすると、php.ini では、<br />
extension_dir<br />
は、php のext のフォルダを<br />
..\..\php\ext<br />
と書きます。<br />
<br />
つまり<br />
extension_dir = "..\..\php\ext"<br />
<br />
と書く事になります。<br />
<br />
一応、後から書いたメモなので、どうだったか定かですが、<br />
Apche はModule版のPHP を使っています。<br />
<br />
httpd.conf には、上記のパスの作りであると<br />
PHPINIDir "..\..\php"<br />
としています。<br />
<br />
また、<br />
Module 版だとApache のconfig (httpd.conf)で<br />
php_admin_value が使えるので<br />
php_admin_value extension_dir = "..\..\php\ext"<br />
としてもいいですが、<br />
実行時の設定でデフォルトの方の設定には反映されないです。<br />
<br />
なんとも言い難いのでやっぱりPHPのphp.ini に書くべきだと思います。<br />
<br />
<br />
そして気持ちの悪い作りの問題ですが、<br />
これをすると、きっと間違いなく、<br />
<br />
<span style="color: #ff6600;">プロシージャエントリポイントｘｘｘ_ｘｘｘ_ｘｘｘが</span><br />
<span style="color: #ff6600;">ダイナミックリンクライブラリ<span style="color: #99cc00;">ｘｘｘ.dll</span>から見つかりませんでした</span><br />
<br />
と出てくると思います、これが出たらパスが通った証拠なのですが、<br />
Apache から見て、PHP のモジュールが見えないと、<br />
Apache のモジュール版のPHP は動いていることにならないみたいなのです。<br />
<br />
ここで気持ちが悪いのですが、<br />
Apache のbin つまり、apache.exe のあるフォルダに<br />
PHP のphp.exe のあるフォルダにある、<span style="color: #99cc00;">ｘｘｘ.dll</span>をコピーして入れます。<br />
<br />
当方の場合、何度か聞かれましたが、<br />
extension の読み込む量やら状況に応じて、<br />
その聞かれる数は違うと思います。<br />
<br />
聞かれる度に<span style="color: #99cc00;">ｘｘｘ.dll</span>をコピーしたらエラーを聞かれず、<br />
指定したextension を全て<br />
phpinfo() から確認することが出来ました。<br />
<br />
<br />
<br />
何とも厄介ですが、extension_dir の相対パス での指定は成功！した訳です。<br />
<br />
<br />
<br />
うーん、微妙だけど、現在のApache とPHP ではこの設定しかないみたいです。<br />
ちなみに、php のバージョンは7.2 で確認をしました(Windows 版です)。<br />
<br />
<br />
お粗末なメモでした&lt;_ _&gt;]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/128</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/128/" />
    <published>2018-02-22T21:45:49+09:00</published> 
    <updated>2018-02-22T21:45:49+09:00</updated> 
    <category term="PHP の調べ物" label="PHP の調べ物" />
    <title>php7.2 で確認。php_opcache はZend OPcache 、つまりextension でなくzend_extension だった。</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[OPcacheは、PHP7.2 のWindows ローカルでようやく使い出したので、<br />
それ以前は知らない。<br />
<br />
なぜ使おうかと思ったかと言うと、<br />
OPcache はPHP7.1からかなり早くなったらしい（余談だけど）。<br />
<br />
php.ini<br />
の<br />
exteinsion の記述になぜか<br />
;extension=php_opcache<br />
という注釈化された記述がない<br />
<br />
おかしいな？<br />
<br />
ext フォルダに<br />
php_opcache.dll<br />
<br />
があるんだけど<br />
<br />
試しに<br />
extension=php_opcache<br />
と記述<br />
<br />
動かない！！！<br />
<br />
意味が分からないのでネットで調べると<br />
zend_extension=<br />
で<br />
"xxx\php_opcache.dll"<br />
が読み込まれる設定の記述が<br />
<br />
試しにやってみる<br />
zend_extension="ext\php_opcache.dll"<br />
<br />
動かない・・・<br />
<br />
うん？！<br />
コマンドラインCli の方で実行すると、どうもext にext のフォルダがない様な趣旨のエラー<br />
<br />
もともと、extension のフォルダの中身を、見ているみたい。<br />
バッチファイル(.bat)によってコマンドとして、php.exe を-S として<br />
呼び出す様にして使っているので、<br />
extension_dir = "./ext"<br />
としてあるので、ここを<br />
zend_extension<br />
の設定は見ている様だ。<br />
<br />
なんかややこしいが<br />
<br />
<br />
zend_extension="php_opcache.dll"<br />
としたら<br />
なんと動いた！<br />
<br />
後はphp.ini に非常に多くの設定があるの<br />
<br />

<div><span style="color: #cc99ff;">[opcache]</span></div>
<div>zend_extension= "php_opcache.dll"</div>
<div><span style="color: #339966;">; Determines if Zend OPCache is enabled</span></div>
<div>opcache.enable=1</div>
<div></div>
<div><span style="color: #339966;">; Determines if Zend OPCache is enabled for the CLI version of PHP</span></div>
<div>opcache.enable_cli=1</div>
<div></div>
<div><span style="color: #339966;">; The OPcache shared memory storage size.</span></div>
<div>opcache.memory_consumption=128</div>
<div></div>
<div><span style="color: #339966;">; The amount of memory for interned strings in Mbytes.</span></div>
<div>opcache.interned_strings_buffer=8</div>
<div></div>
<div><span style="color: #339966;">; The maximum number of keys (scripts) in the OPcache hash table.</span></div>
<div><span style="color: #339966;">; Only numbers between 200 and 1000000 are allowed.</span></div>
<div>opcache.max_accelerated_files=10000</div>
<div></div>
<div><span style="color: #339966;">; The maximum percentage of "wasted" memory until a restart is scheduled.</span></div>
<div>opcache.max_wasted_percentage=5</div>
<div></div>
<div><span style="color: #339966;">; When this directive is enabled, the OPcache appends the current working</span></div>
<div><span style="color: #339966;">; directory to the script key, thus eliminating possible collisions between</span></div>
<div><span style="color: #339966;">; files with the same name (basename). Disabling the directive improves</span></div>
<div><span style="color: #339966;">; performance, but may break existing applications.</span></div>
<div><span style="color: #339966;">;opcache.use_cwd=1</span></div>
<div></div>
<div><span style="color: #339966;">; When disabled, you must reset the OPcache manually or restart the</span></div>
<div><span style="color: #339966;">; webserver for changes to the filesystem to take effect.</span></div>
<div><span style="color: #339966;">;opcache.validate_timestamps=1</span></div>
<div></div>
<div><span style="color: #339966;">; How often (in seconds) to check file timestamps for changes to the shared</span></div>
<div><span style="color: #339966;">; memory storage allocation. ("1" means validate once per second, but only</span></div>
<div><span style="color: #339966;">; once per request. "0" means always validate)</span></div>
<div><span style="color: #339966;">opcache.revalidate_freq=2</span></div>
<div></div>
<div><span style="color: #339966;">; Enables or disables file search in include_path optimization</span></div>
<div><span style="color: #339966;">;opcache.revalidate_path=0</span></div>
<div></div>
<div><span style="color: #339966;">; If disabled, all PHPDoc comments are dropped from the code to reduce the</span></div>
<div><span style="color: #339966;">; size of the optimized code.</span></div>
<div><span style="color: #339966;">;opcache.save_comments=1</span></div>
<div></div>
<div><span style="color: #339966;">; Allow file existence override (file_exists, etc.) performance feature.</span></div>
<div><span style="color: #339966;">;opcache.enable_file_override=0</span></div>
<div></div>
<div><span style="color: #339966;">; A bitmask, where each bit enables or disables the appropriate OPcache</span></div>
<div><span style="color: #339966;">; passes</span></div>
<div><span style="color: #339966;">;opcache.optimization_level=0xffffffff</span></div>
<div></div>
<div><span style="color: #339966;">;opcache.inherited_hack=1</span></div>
<div><span style="color: #339966;">;opcache.dups_fix=0</span></div>
<div></div>
<div><span style="color: #339966;">; The location of the OPcache blacklist file (wildcards allowed).</span></div>
<div><span style="color: #339966;">; Each OPcache blacklist file is a text file that holds the names of files</span></div>
<div><span style="color: #339966;">; that should not be accelerated. The file format is to add each filename</span></div>
<div><span style="color: #339966;">; to a new line. The filename may be a full path or just a file prefix</span></div>
<div><span style="color: #339966;">; (i.e., /var/www/x&nbsp; blacklists all the files and directories in /var/www</span></div>
<div><span style="color: #339966;">; that start with 'x'). Line starting with a ; are ignored (comments).</span></div>
<div><span style="color: #339966;">;opcache.blacklist_filename=</span></div>
<div></div>
<div><span style="color: #339966;">; Allows exclusion of large files from being cached. By default all files</span></div>
<div><span style="color: #339966;">; are cached.</span></div>
<div><span style="color: #339966;">;opcache.max_file_size=0</span></div>
<div></div>
<div><span style="color: #339966;">; Check the cache checksum each N requests.</span></div>
<div><span style="color: #339966;">; The default value of "0" means that the checks are disabled.</span></div>
<div><span style="color: #339966;">;opcache.consistency_checks=0</span></div>
<div></div>
<div><span style="color: #339966;">; How long to wait (in seconds) for a scheduled restart to begin if the cache</span></div>
<div><span style="color: #339966;">; is not being accessed.</span></div>
<div><span style="color: #339966;">;opcache.force_restart_timeout=180</span></div>
<div></div>
<div><span style="color: #339966;">; OPcache error_log file name. Empty string assumes "stderr".</span></div>
<div><span style="color: #339966;">;opcache.error_log=</span></div>
<div></div>
<div><span style="color: #339966;">; All OPcache errors go to the Web server log.</span></div>
<div><span style="color: #339966;">; By default, only fatal errors (level 0) or errors (level 1) are logged.</span></div>
<div><span style="color: #339966;">; You can also enable warnings (level 2), info messages (level 3) or</span></div>
<div><span style="color: #339966;">; debug messages (level 4).</span></div>
<div><span style="color: #339966;">;opcache.log_verbosity_level=1</span></div>
<div></div>
<div><span style="color: #339966;">; Preferred Shared Memory back-end. Leave empty and let the system decide.</span></div>
<div><span style="color: #339966;">;opcache.preferred_memory_model=</span></div>
<div></div>
<div><span style="color: #339966;">; Protect the shared memory from unexpected writing during script execution.</span></div>
<div><span style="color: #339966;">; Useful for internal debugging only.</span></div>
<div><span style="color: #339966;">;opcache.protect_memory=0</span></div>
<div></div>
<div><span style="color: #339966;">; Allows calling OPcache API functions only from PHP scripts which path is</span></div>
<div><span style="color: #339966;">; started from specified string. The default "" means no restriction</span></div>
<div><span style="color: #339966;">;opcache.restrict_api=</span></div>
<div></div>
<div><span style="color: #339966;">; Mapping base of shared memory segments (for Windows only). All the PHP</span></div>
<div><span style="color: #339966;">; processes have to map shared memory into the same address space. This</span></div>
<div><span style="color: #339966;">; directive allows to manually fix the "Unable to reattach to base address"</span></div>
<div><span style="color: #339966;">; errors.</span></div>
<div><span style="color: #339966;">;opcache.mmap_base=</span></div>
<div></div>
<div><span style="color: #339966;">; Enables and sets the second level cache directory.</span></div>
<div><span style="color: #339966;">; It should improve performance when SHM memory is full, at server restart or</span></div>
<div><span style="color: #339966;">; SHM reset. The default "" disables file based caching.</span></div>
<div><span style="color: #339966;">;opcache.file_cache=</span></div>
<div></div>
<div><span style="color: #339966;">; Enables or disables opcode caching in shared memory.</span></div>
<div><span style="color: #339966;">;opcache.file_cache_only=0</span></div>
<div></div>
<div><span style="color: #339966;">; Enables or disables checksum validation when script loaded from file cache.</span></div>
<div><span style="color: #339966;">;opcache.file_cache_consistency_checks=1</span></div>
<div></div>
<div><span style="color: #339966;">; Implies opcache.file_cache_only=1 for a certain process that failed to</span></div>
<div><span style="color: #339966;">; reattach to the shared memory (for Windows only). Explicitly enabled file</span></div>
<div><span style="color: #339966;">; cache is required.</span></div>
<div><span style="color: #339966;">;opcache.file_cache_fallback=1</span></div>
<div></div>
<div><span style="color: #339966;">; Enables or disables copying of PHP code (text segment) into HUGE PAGES.</span></div>
<div><span style="color: #339966;">; This should improve performance, but requires appropriate OS configuration.</span></div>
<div><span style="color: #339966;">;opcache.huge_code_pages=1</span></div>
<div></div>
<div><span style="color: #339966;">; Validate cached file permissions.</span></div>
<div><span style="color: #339966;">;opcache.validate_permission=0</span></div>
<div></div>
<div><span style="color: #339966;">; Prevent name collisions in chroot'ed environment.</span></div>
<div><span style="color: #339966;">;opcache.validate_root=0</span></div>
<div></div>
こんな感じで設定したら<br />
<br />

<h2 style="font-size: 20px; color: #222222; font-family: sans-serif; text-align: center;"><a name="module_zend+opcache" style="text-decoration-line: underline;"></a>Zend OPcache</h2>
<table style="border-collapse: collapse; border: 0px; width: 934px; box-shadow: #cccccc 1px 2px 3px; margin: 1em auto; font-family: sans-serif;">
<tbody>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Opcode Caching</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Up and Running</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Optimization</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Enabled</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">SHM Cache</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Enabled</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">File Cache</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Disabled</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Startup</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">OK</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Shared memory model</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">win32</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Cache hits</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Cache misses</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Used memory</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">18735736</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Free memory</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">115481992</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Wasted memory</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Interned Strings Used memory</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">193336</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Interned Strings Free memory</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">8195272</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Cached scripts</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Cached keys</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Max keys</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">16229</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">OOM restarts</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Hash keys restarts</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">Manual restarts</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
</tbody>
</table>
<table style="border-collapse: collapse; border: 0px; width: 934px; box-shadow: #cccccc 1px 2px 3px; margin: 1em auto; font-family: sans-serif;">
<tbody>
<tr class="h" style="background-color: #9999cc; font-weight: bold;"><th style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; text-align: center !important;">Directive</th><th style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; text-align: center !important;">Local Value</th><th style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; text-align: center !important;">Master Value</th></tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.blacklist_filename</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.consistency_checks</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.dups_fix</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.enable</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.enable_cli</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.enable_file_override</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.error_log</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.file_cache</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.file_cache_consistency_checks</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.file_cache_fallback</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.file_cache_only</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.file_update_protection</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">2</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">2</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.force_restart_timeout</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">180</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">180</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.inherited_hack</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.interned_strings_buffer</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">8</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">8</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.log_verbosity_level</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.max_accelerated_files</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">10000</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">10000</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.max_file_size</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.max_wasted_percentage</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">5</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">5</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.memory_consumption</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">128</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">128</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.mmap_base</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.opt_debug_level</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.optimization_level</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0x7FFFBFFF</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0x7FFFBFFF</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.preferred_memory_model</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.protect_memory</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">0</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.restrict_api</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;"><i style="color: #999999;">no value</i></td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.revalidate_freq</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">2</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">2</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.revalidate_path</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.save_comments</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">1</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.use_cwd</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.validate_permission</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">Off</td>
</tr>
<tr>
<td class="e" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #ccccff; width: 300px; font-weight: bold;">opcache.validate_timestamps</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
<td class="v" style="border: 1px solid #666666; font-size: 12px; vertical-align: baseline; padding: 4px 5px; background-color: #dddddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;">On</td>
</tr>
</tbody>
</table>
こんな感じだった。<br />
<br />
セオリー的な設定とかある様だが、<br />
ネット上の検索や公式では<br />
<a href="http://php.net/manual/ja/opcache.installation.php" title="" target="_blank">http://php.net/manual/ja/opcache.installation.php</a><br />
以下<br />
<br />
<br />

<div>opcache.memory_consumption=128</div>
<div>opcache.interned_strings_buffer=8</div>
<div>opcache.max_accelerated_files=4000</div>
<div>opcache.revalidate_freq=60</div>
<div>opcache.fast_shutdown=1</div>
<div>opcache.enable_cli=1</div>
<br />
とりあえず、PHP7.2 に<br />
なぜかPHP5x のバージョンのphp.ini になかったOPcache項目が<br />
注釈で書かれているし、なかった項目や、なくなった項目とかも<br />
多分ありそうなので、見直した方がいいかなと思う。<br />
<br />
インクルード先の話は戻るが、<br />
dell 本体の名前を、php_zend_opcache.dll<br />
とか、そういうリネーム（普通しない）にするか、<br />
それともインクルード先として読みに行くext フォルダの中に<br />
子のフォルダを適当な区別できる名前(zend とかOutside)のフォルダの中に<br />
入れてくれるか、どっちかをしないと、zend_extensionの分類で<br />
インクルードしていることが分かり難い。<br />
<br />
フルパスでない場合にはextension_dir を<br />
zend_extension&nbsp;は見ているとか、<br />
説明どこかにあるのか(単純に無い?)は知らないが、直感的にはわからない<br />
<br />
<br />
<br />
悩んでたのでメモにしたら長くなったブログでした<br />
<br />
お粗末&lt;_ _&gt;]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/127</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/127/" />
    <published>2018-02-21T03:16:27+09:00</published> 
    <updated>2018-02-21T03:16:27+09:00</updated> 
    <category term="PHP の調べ物" label="PHP の調べ物" />
    <title>PHP7 APCu の設定</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[<br />
PHP info を見て、同じコンパイル方法で、<br />
自身のPHP のバージョンのPECL のAPCu を入れる<br />
<a href="https://pecl.php.net/package/APCu" title="" target="_blank">https://pecl.php.net/package/APCu</a><br />
<br />
当方の場合、Windows の64bit でPHP7.2.2 の<br />
<a href="https://pecl.php.net/package/APCu/5.1.10/windows" title="" target="_blank">https://pecl.php.net/package/APCu/5.1.10/windows</a><br />
<span color="#000033" face="verdana, arial, helvetica, sans-serif" style="color: #000033; font-family: verdana, arial, helvetica, sans-serif;"><span style="font-size: 14.4px;">7.2 Thread Safe (TS) x64</span></span><br />
を使用した。<br />
自身のPHPにあったものを使う<br />
<br />
どうも、PHP5.5や5.6 だと、APC とAPCu がかぶっているらしいので、<br />
<br />
apcu_bc というPECL を使わないといけないらしい<br />
<a href="https://pecl.php.net/package/apcu_bc" title="" target="_blank">https://pecl.php.net/package/apcu_bc</a><br />
<br />
<br />
しかし、今回、当方が使うのはPHP7系なので、apcu_bc という<br />
apc の機能をつぶすものは入れる必要はない<br />
<br />
入れたら<br />
php.ini の設定だが<br />
まず、エクステンションを読み込む。<br />
PHP7からは、Linux でもWindows でも、<br />
xxx.dll や、xxx.so の様に拡張子の記述の必要がなくなっている！<br />
<br />
なので、php.ini に<br />
extension=php_apcu<br />
と書いて、拡張の設定をphp.ini の一番最後の方にでも、<br />
CLi から使うならphp.ini に<br />
<br />
apc.enable_cli=1<br />
追加する<br />
<br />
例えばネットでみる設定は<br />

<div>[apcu]</div>
<div>apc.enabled=1</div>
<div>apc.shm_size=32M</div>
<div>apc.ttl=7200</div>
<div>apc.enable_cli=1</div>
<div>apc.serializer=php<br />
<br />
などであった。<br />
<br />
当方の場合、キャッシュのサイズを自動にしたかったのだが、<br />
自動ができるか？と思い、-1 を設定してみたが、<br />
自動にはならず、0や-1 を設定すると、強制的に32M に戻されてしまう様だ</div>
<br />
<br />
<br />
CLi の場合の確認は、<br />
php.exe の該当のコマンドで<br />
php.exe -i | grep<br />
<br />
とすれば<br />
～　略　～<br />
<br />

<div>apcu</div>
<div></div>
<div>APCu Support =&gt; Enabled</div>
<div>Version =&gt; 5.1.10</div>
<div>APCu Debugging =&gt; Disabled</div>
<div>MMAP Support =&gt; Disabled</div>
<div>Serialization Support =&gt; php</div>
<div>Build Date =&gt; Feb 16 2018 07:38:57</div>
<div></div>
<div>Directive =&gt; Local Value =&gt; Master Value</div>
<div>apc.coredump_unmap =&gt; Off =&gt; Off</div>
<div>apc.enable_cli =&gt; On =&gt; On</div>
<div>apc.enabled =&gt; On =&gt; On</div>
<div>apc.entries_hint =&gt; 4096 =&gt; 4096</div>
<div>apc.gc_ttl =&gt; 3600 =&gt; 3600</div>
<div>apc.preload_path =&gt; no value =&gt; no value</div>
<div>apc.serializer =&gt; php =&gt; php</div>
<div>apc.shm_segments =&gt; 1 =&gt; 1</div>
<div>apc.shm_size =&gt; 32M =&gt; 32M</div>
<div>apc.slam_defense =&gt; On =&gt; On</div>
<div>apc.smart =&gt; 0 =&gt; 0</div>
<div>apc.ttl =&gt; 7200 =&gt; 7200</div>
<div>apc.use_request_time =&gt; On =&gt; On</div>
<div>apc.writable =&gt; /tmp =&gt; /tmp</div>
<br />
と出てくれば成功。<br />
<br />
<br />
<br />
そして<br />
あとから説明をする、APCやAPCu をGUI で表示するのならば、<br />
;extension=gd2<br />
を<br />
extension=gd2<br />
<br />
そしてこれもはじめ悩んだが、<br />
phpinfo() の関数でapcu の項目が、GUIのこの関数では出てこない！<br />
output_buffering = Off<br />
<br />
としよう、値が入っていると動かない！！！<br />
<br />
<br />
また、最後に前途のGUI でAPC もしくはAPCu の使用量等や、<br />
設定の項目を閲覧するツールは<br />
PHP7 以前のものを使っていると古いのか、閲覧できなかった。<br />
<br />
なので新しいものを<br />
https://raw.githubusercontent.com/krakjoe/apcu/master/apc.php<br />
<br />
からダウンロードしたら、あっさり閲覧できた。<br />
<br />
<br />
<br />
以上、メモでした<br />
お粗末&lt;_ _&gt;<br />
<br />
<br />
大事な追伸！！！(2020年5月3日)<br />
Windows版の拡張を使っていて気が付いたのですが、<br />
同時にコンパイルされて（して）出来たバージョンの拡張には、<br />
.dll を付けなくとも、phpinfo() で拡張がされたことになりますが、<br />
どうも、後からPECL としてダウンロードしたものであると、<br />
.dll を付けないと認識しない気がする。。。。<br />
<br />
なので、何処かの誰かがcompileして、一式dll も入っているものでも、<br />
良く分からないけれど、APCu ならば、.dll は必要で、<br />
extension=php_apcu<br />
だと動かず。。。<br />
<br />
extension=php_apcu.dll<br />
でないといけない気がする。。。<br />
<br />
なんなんだ、この謎仕様は？<br />
<br />
お粗末＜＿　＿＞<br />
]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/126</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/126/" />
    <published>2017-12-19T01:20:44+09:00</published> 
    <updated>2017-12-19T01:20:44+09:00</updated> 
    <category term="Excel (VBA)" label="Excel (VBA)" />
    <title>Excel BVA のパスワードの解除は凡人でも特殊なこと無しできるって言ってるのに分からない人が・・・</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[マクロ(プログラム)を書かれたExcel VBA をそのまま配布しちゃおう！とてる人が居て、<br />
とても絶句してたんだけど・・・・<br />
<br />
理由はExcel VBA のロックの機能はお飾りでしかない<br />
な　ん　の　い　み　も　な　い<br />
<br />
バカみたいなんだけど、なんか正直、マイクロソフトが酷い杜撰としか言い様がない<br />
<br />
パスワードをずっとずっとヒットするまで入れ続けるプログラムすら要らない<br />
<br />
以下を適当な空のテキストの拡張子を<span style="font-family: Meiryo; font-size: small;">xlsm に変えて、貼るだけ<br />
</span><br />

<div>Option Explicit</div>
<div></div>
<div>Private Const PAGE_EXECUTE_READWRITE = &amp;H40</div>
<div></div>
<div>Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _</div>
<div>(Destination As Long, Source As Long, ByVal Length As Long)</div>
<div></div>
<div>Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, _</div>
<div>ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long</div>
<div></div>
<div>Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As Long</div>
<div></div>
<div>Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _</div>
<div>ByVal lpProcName As String) As Long</div>
<div></div>
<div>Private Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As Long, _</div>
<div>ByVal pTemplateName As Long, ByVal hWndParent As Long, _</div>
<div>ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer</div>
<div></div>
<div>Dim HookBytes(0 To 5) As Byte</div>
<div>Dim OriginBytes(0 To 5) As Byte</div>
<div>Dim pFunc As Long</div>
<div>Dim Flag As Boolean</div>
<div></div>
<div>Private Function GetPtr(ByVal Value As Long) As Long</div>
<div>GetPtr = Value</div>
<div>End Function</div>
<div></div>
<div>Public Sub RecoverBytes()</div>
<div>If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6</div>
<div>End Sub</div>
<div></div>
<div>Public Function Hook() As Boolean</div>
<div>Dim TmpBytes(0 To 5) As Byte</div>
<div>Dim p As Long</div>
<div>Dim OriginProtect As Long</div>
<div></div>
<div>Hook = False</div>
<div></div>
<div>pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")</div>
<div></div>
<div></div>
<div>If VirtualProtect(ByVal pFunc, 6, PAGE_EXECUTE_READWRITE, OriginProtect) &lt;&gt; 0 Then</div>
<div></div>
<div>MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6</div>
<div>If TmpBytes(0) &lt;&gt; &amp;H68 Then</div>
<div></div>
<div>MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6</div>
<div></div>
<div>p = GetPtr(AddressOf MyDialogBoxParam)</div>
<div></div>
<div>HookBytes(0) = &amp;H68</div>
<div>MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4</div>
<div>HookBytes(5) = &amp;HC3</div>
<div></div>
<div>MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6</div>
<div>Flag = True</div>
<div>Hook = True</div>
<div>End If</div>
<div>End If</div>
<div>End Function</div>
<div></div>
<div>Private Function MyDialogBoxParam(ByVal hInstance As Long, _</div>
<div>ByVal pTemplateName As Long, ByVal hWndParent As Long, _</div>
<div>ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer</div>
<div>If pTemplateName = 4070 Then</div>
<div>MyDialogBoxParam = 1</div>
<div>Else</div>
<div>RecoverBytes</div>
<div>MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _</div>
<div>hWndParent, lpDialogFunc, dwInitParam)</div>
<div>Hook</div>
<div>End If</div>
<div>End Function<br />
<br />
<br />
それと<br />
<br />
<br />

<div>Sub unprotected()</div>
<div>If Hook Then</div>
<div>MsgBox "VBA Project is unprotected!", vbInformation, "*****"</div>
<div>End If</div>
<div>End Sub<br />
</div>
<br />
<br />
</div>
<br />
それを知らない人が多い<br />
<br />
プログラム で労力をお金に換算できるもしくは、<br />
それ以上になるのならば、Excel VBA で成果物を中身を閲覧できない状況下にあると<br />
思って暗号化して売ってはいけないと思う・・・・・<br />
<br />
<br />
<br />
<br />
<a href="http://www.saka-en.com/office/excel-vba-password-unlock/" title="" target="_blank">http://www.saka-en.com/office/excel-vba-password-unlock/</a><br />
<br />
<a href="http://hyano7.at.webry.info/201503/article_5.html" title="" target="_blank">http://hyano7.at.webry.info/201503/article_5.html</a><br />
<br />
<br />
何やってるんだ！マイクロソフト<br />
<br />
<br />
というか、そのお蔭で他の暗号化できる機構やソフトが光るけど<br />
何とも言い難い]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/125</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/125/" />
    <published>2017-12-11T01:09:58+09:00</published> 
    <updated>2017-12-11T01:09:58+09:00</updated> 
    <category term="PHP の調べ物" label="PHP の調べ物" />
    <title>MySQL 同じテーブルで同じレコードを重複させて結合させる UNION ALL とSELECT に AS</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[SELECT を使って、同じテーブルの内容で<br />
レコードをかぶってる状態で取得したかった。<br />
<br />
たとえば１回のクエリーを送るだけで、<br />
ランキングで自身＋100件とか取得出来れば楽だ（プロシージャーをCALLする等）<br />
<br />
それではじめは、SELECT に as 適当な名前（例では t_colom)<br />
にして、余計なカラムで順位をつけて取得するみたいなことをしていた。<br />
（実験だから、自身のIDが下に結合されてついてます）<br />
<br />
<br />

<div>SELECT '1' as t_column, user_id FROM `xxx_table` LIMIT 3</div>
<div></div>
<div></div>
<div>UNION</div>
<div></div>
<div></div>
<div>SELECT '2' as t_column, user_id FROM `xxx_table`</div>
<div></div>
<div></div>
<div>WHERE</div>
<div></div>
<div></div>
<div>`user_id`='0003';</div>
<div></div>
<div>
<table cellspacing="0" class="nowrap" style="margin: 1em 20px 0px 0px; border-width: 1px 0px 0px 1px; border-right-style: initial; border-bottom-style: initial; border-right-color: initial; border-bottom-color: initial; border-image: initial; border-top-style: solid; border-top-color: #999999; border-left-style: solid; border-left-color: #999999; font-size: 12.96px; color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif;">
<thead>
<tr><th style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.5em; background: #ddddff; text-align: center; white-space: pre;">t_column</th><th style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.5em; background: #ddddff; text-align: center; white-space: pre;">user_id</th></tr>
</thead>
<tbody>
<tr>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre;">1</td>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre;"><code style="background: #eeeeee;">0001</code></td>
</tr>
<tr class="odd">
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre; background-color: #f5f5f5;">1</td>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre; background-color: #f5f5f5;"><code style="background: #eeeeee;">0002</code></td>
</tr>
<tr>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre;">1</td>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre;"><code style="background: #eeeeee;">0003</code></td>
</tr>
<tr class="odd">
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre; background-color: #f5f5f5;">2</td>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre; background-color: #f5f5f5;"><code style="background: #eeeeee;">0003 </code></td>
</tr>
</tbody>
</table>
</div>
<div></div>
<br />
しかし、UNION ってALL をつけると、重複してくれて、すべてを取得できる。<br />
<br />
<br />

<div></div>
<div></div>
<div>SELECT user_id FROM `xxx_table` LIMIT 3</div>
<div></div>
<div></div>
<div>UNION ALL</div>
<div></div>
<div></div>
<div>SELECT user_id FROM `xxx_table`</div>
<div></div>
<div></div>
<div>WHERE</div>
<div></div>
<div></div>
<div>`user_id`='0003';</div>
<pre id="sql-4" style="margin-top: 1em; margin-bottom: 0px; font-stretch: normal; font-size: 11.7px; line-height: 1.25;"><code class="jush-sql" style="background: #eeeeee;"><span class="jush-sql"><span class="jush"><span class="jush-sql_code"><span class="jush-sql_apo" style="color: green;"><span class="jush-op">&nbsp;</span></span></span></span></span></code></pre>
<table cellspacing="0" class="nowrap" style="margin: 1em 20px 0px 0px; border-width: 1px 0px 0px 1px; border-right-style: initial; border-bottom-style: initial; border-right-color: initial; border-bottom-color: initial; border-image: initial; border-top-style: solid; border-top-color: #999999; border-left-style: solid; border-left-color: #999999; font-size: 12.96px; color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif;">
<thead>
<tr><th style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.5em; background: #ddddff; text-align: center; white-space: pre;">user_id</th></tr>
</thead>
<tbody>
<tr>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre;"><code style="background: #eeeeee;">0001</code></td>
</tr>
<tr class="odd">
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre; background-color: #f5f5f5;"><code style="background: #eeeeee;">0002</code></td>
</tr>
<tr>
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre;"><code style="background: #eeeeee;">0003</code></td>
</tr>
<tr class="odd">
<td style="border-width: 0px 1px 1px 0px; border-top-style: initial; border-left-style: initial; border-top-color: initial; border-left-color: initial; border-image: initial; border-right-style: solid; border-right-color: #999999; border-bottom-style: solid; border-bottom-color: #999999; padding: 0.2em 0.3em; white-space: pre; background-color: #f5f5f5;"><code style="background: #eeeeee;">0003 </code></td>
</tr>
</tbody>
</table>
<br />
<br />
知らなかった・・・ｗ<br />
<br />
UNION&nbsp;DISTINCT がデフォルトで、<br />
UNION って書く場合には、DISTINCT が指定されていることになっている。<br />
知らなかった・・・　知らなかった・・・<br />
<br />
はじめ覚えた本にそんな事が書かれてなかった本で<br />
それをずっと信じていた。<br />
<br />
いっぱいあちこち見てみるもんだなぁ・・・<br />
<br />

<div></div>]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
  <entry>
    <id>gete.blog.shinobi.jp://entry/124</id>
    <link rel="alternate" type="text/html" href="http://gete.blog.shinobi.jp/Entry/124/" />
    <published>2017-12-11T00:11:30+09:00</published> 
    <updated>2017-12-11T00:11:30+09:00</updated> 
    <category term="MySQL の調べ物" label="MySQL の調べ物" />
    <title>MySQL で as で選択した内容をテーブルにできるんだった</title>
    <content mode="escaped" type="text/html" xml:lang="utf-8"> 
      <![CDATA[久しぶりにSQL を触ってとても単純な事を忘れて戸惑った（ブログも超久しぶりに書いた）<br />
<br />

<div>SELECT a,b FROM (select 1 as a,2 as b) as x</div>
<div>UNION</div>
<div>SELECT a,b FROM (select 2 as a,3 as b) as x</div>
<div>UNION</div>
<div>SELECT a,b FROM (select 4 as a,5 as b, 6 as c, 7 as d) as x<br />
<br />
<br />
また変な誤解で<br />
as tables とか as table<br />
は、別のものだと思ってた<br />
<br />
完全に何だろう？と思っていた<br />
table とかtables とか使っている例は<br />
単なる一時的な命名だった・・・<br />
<br />
as はas で、それがカラムだったり、テーブルだったり、<br />
状況に応じて変化する様だ<br />
<br />
バカみたいだけど、結構、単純な事を知ったつもりで<br />
知らずに通過してきたんだなって思える時がSQLについては多い・・・<br />
<br />
プロシージャーとかを連続で使って<br />
LIMIT 句に変数が使えなくて、<br />
PREPARE を使って ? に入れると出来るとか<br />
PHP のクエリー作成時にPHP側で処理している<br />
やたらPHPに頼ったゴリゴリ書いて動かしてたりすると<br />
気が付かないこととか多い。<br />
<br />
プロシージャーで書くことは<br />
やはりとてもメリットが大きいと思えて仕方ない＾ｗ＾；（勉強や速度を含めた意味で）</div>]]> 
    </content>
    <author>
            <name>No Name Ninja</name>
        </author>
  </entry>
</feed>