Program
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Dramsuko_wiki]]
#shadowheader(1,Program);
#shadowheader(2,目次);
#contents
* Android アプリ開発[#cf59c923]
-[[参考サイト(ASCIIデジタル これで作れる! Androidのアプ...
Eclipse + Android SDK の記事ですが、自分はこの記事を Andr...
アプリを作成しています。~
** 開発ソフト [#i6610ec6]
*** eclipse [#pfd740ed]
Android 開発のサポートが2015年12月で終了することが発表さ...
*** Android Studio [#f26f6641]
Eclipse 亡き後、無料の開発ツールはこちらにシフトしていく...
Windows,Mac,Linux 全てのOSに対応しているため、Eclipse 同...
* Android Studio(Ubuntu) [#z49cb08d]
** Install [#q7f35ca1]
-2020/8/29
-事前準備
sudo apt install openjdk-11-jdk
sudo apt-get install libc6:i386 libncurses5:i386 libstdc...
libbz2-1.0:i386 adb
sudo apt install qemu-kvm
sudo adduser $USER kvm
-Android Studio のダウンロード
--[[Android Studio(Developers):https://developer.android....
-ファイルを展開(path名は適宜変えて下さい)
mkdir ~/androidStudio
mv android-studio-ide-193.6626763-linux.tar.gz ~/android...
cd ~/androidStudio
tar zxfv android-studio-ide-193.6626763-linux.tar.gz
-studio.sh を実行
android-studio/bin/studio.sh
++ 過去の設定を読み込むか聞かれる。とりあえず「Do not imp...
--- 「OK」 ボタン
++ (このあと固まってるようだったので ctrl + c で一度キャ...
++ Data Sharing
--- 自分はとりあえず「Send usage statistics to Google」を...
--- 無料で使えるソフトは開発元にフィードバックしてお礼し...
++ (このあと固まってるようだったので ctrl + c で一度キャ...
++ しばらくすると「Next」ボタンが出てきたので押した
++ Install Type「Custom」を選択してみる。
++ Select default JDK Location.
--- [Next]ボタンを押す
++ Select UI Theme。自分は「Light」を選択して「Next」ボタ...
++ SDK Components Setup。選択できる所はすべて選択して「Ne...
++ Verify Settings。「Next」ボタン。
++ Emulator Settings。「Finish」ボタン。
++ Download中。しばし待つ。
++ 「Finish」ボタン
++ その後、何度か Ctrl + c を押してから再起動したら起動し...
** 初期設定 [#k787fb24]
-右上の「SDK Manager」を押して持っているAndroid のバージ...
** ショートカットキーまとめ [#g6db5889]
+全般
-- エラーの対策候補の表示:Alt + Enter
-- クイックフィックス:Alt + Enter
-- ハイライトされているエラーへ飛ぶ:F2 or Shift + F2
-- Refactor Rename:Shift + F6
-- メソッドパラメーターの表示:Ctrl + P
-- 使ったファイルの履歴からファイルを選択:Ctrl + E
-- ナビゲーションバーを開く:Ctrl + Home
-- コード生成メニューの表示:Alt + Insert
-- 「ビュー」の選択を表示:Alt + F1
-- 置換:Ctrl + R
-- 囲む(TryCatchなど):Ctrl + Alt + T
-- Introduce Variable:Ctrl + Alt + V
-- コメント(行):Ctrl + /
-- コメント(ブロック):Ctrl + Shift + /
-- 検索:Shift,Shift
-- Compile:Ctrl + F9
-- 自動Import:Ctrl + Alt + O
-- ソースの畳み込み:Ctrl + Numpad -
-- ソースの展開:Ctrl + Numpad +
+デバッグ
-- ブレークポイント:Ctrl + F8
-- デバッグの実行:F9
-- デバッグの停止:Ctrl + F2
-- プログラムの再開:F9
-- ステップオーバー:F8
-- ステップイン:F7
-- ステップアウト:Shift + F8
-- カーソル位置まで実行:Alt + F9
+定義
-- 定義へジャンプ:Ctrl + B
-- 参照されている箇所の表示:Alt + F7
-- ローカル変数の定義:Ctrl + Alt + V
-- フィールドの定義:Ctrl + Alt + F
-- 定数定義:Ctrl + Alt + C
-- メソッドの定義:Ctrl + Alt + M
-- strings.xml へ書き出し:Alt + Enter -> Extract string r...
+エミュレーター
-- Android:Home ボタン
--- Home ボタン
-- Android:Menuボタン
--- F2
-- Android:Startボタン
--- Shift + F2,PageDown
-- Android:Backボタン
--- ESCボタン
-- Android:発信・通話ボタン
--- F3
-- Android:終話ボタン
--- F4
-- Android:検索ボタン
--- F5
-- Android:電源ボタン
--- F7
-- Android:ボリュームアップボタン
--- テンキーのプラス,Ctrl + F5
-- Android:ボリュームダウンボタン
--- テンキーのマイナス,Ctrl + F6
-- Android:カメラボタン
--- Ctrl + Numpad 5, Ctrl + F3
-- Android:横レイアウトへ切り替え
--- Ctrl + Numpad 7, Ctrl + Numpad 9
-- Android:前のレイアウトに切り替え
--- Numpad 7, または Ctrl + F11
-- Android:次のレイアウトに切り替え
--- Numpad 9, または Ctrl + F12
-- Android:方向ボタン
--- Numpad 4,8.6.2
-- Android:方向ボタンの真ん中
--- Numpad 5
** Android 開発の基本 [#b8354775]
*** ソースのディレクトリ構造 [#ge4975a3]
-java
--Mainソースの場所
--- app -> src -> main -> java -> (domain name) -> MainAc...
- レイアウトの場所
-- Main レイアウト
--- app -> src -> main -> res -> layout -> activity_main....
-- 横向きレイアウト landscape
--- app -> src -> main -> res -> layout-land -> activity_...
- constant(定数)
--文字列のConstantファイル(定数設定ファイル)の場所
--- app -> src -> main -> res -> values -> strings.xml
--日本語文字列のConstantファイル(定数設定ファイル)の場所(...
--- app -> src -> main -> res -> values-ja -> strings.xml
--数字のConstantファイル(定数設定ファイル)の場所(初期はな...
--- app -> src -> main -> res -> values -> integers.xml
-AndroidManifest.xml の場所
-- app -> src -> main -> res -> AndroidManifest.xml
** エミュレーター [#r7e11c0b]
*** カメラをエミュレートする [#odf22ace]
- エミュレーターの設定でカメラを有効にする。
** その他 [#r5976e6f]
*** Log.d 種類 [#vabe632a]
- Android Monitor, Logcat で表示
Log.e(TAG, error);
Log.w(TAG, warn);
Log.i(TAG, info);
Log.d(TAG, debug);
Log.v(TAG, verbose);
*** 実行中のメソッド名を取得 [#j344f6db]
StackTraceElement[] stackTraceElements = Thread.currentT...
for (StackTraceElement stackTraceElement : stackTraceEle...
System.out.println("-----------------------------");
System.out.println("ClassName : " + stackTraceElement...
System.out.println("FileName : " + stackTraceElement...
System.out.println("MethodName : " + stackTraceElement...
System.out.println("LineNumber : " + stackTraceElement...
System.out.println("-----------------------------");
}
*** インテントについて [#b422703b]
-インテントとは「機能」の呼び出しのこと。~
例えばウェブブラウザーを呼び出すときは、~
ブラウザーの名前を指定すること無く、~
ウェッブラウザーの「機能」を呼び出す。~
すると、ウェブブラウザー機能を持ったどのソフトを起動する...
選択画面が表示される。~
-またインテントはアクティビティー切り替えにも利用される。
*** 独自Classの getString について [#z240e1e0]
Context を引数渡ししてあげればいい。
そうすると
argContext.getString(R.string.logdRunnning);
などで引ける。
全体的には
public void outputLogSummary(Context argContext,
Integer argMethodNo){
String logComment = argContext.getString(R.string.lo...
this.outputLogSummary(argContext,argMethodNo,logComm...
}
呼び出し元は
private CommonCls pCommonCls = new CommonCls();
pCommonCls.outputLogSummary(this, METHOD_NO_MAIN_ACTIVIT...
*** Activity の追加 [#k8cc3fa3]
AndroidManifest.xml に追加するのを忘れないようにしよう。~
また追加は「新規」-「Activity」-「Brank Activity」で~
追加するとレイアウトも一緒に追加されて便利。~
以下はAndroidManifest.xml
<activity
android:name=".Sample0501"
android:label="@string/title_activity_sample0501"></...
*** USB Developer options, 実機のデバッグ, 認識しない場合...
+最初にUSBケーブルでPCと接続
+Android studio を起動しておく
+[Developer options]-[USB debugging] をオン、オフする。
*** R.id.IntentRequestGeneral [#o9fcb76d]
- クイックフィックスから、[Create ID value resource] を選...
- 値は1でOK。
*** その他 [#g6b255e7]
-layoutのファイル名は小文字のみ使用可能
* Android Studio(Windows) [#m167ca18]
** Download and Install [#y41a1f80]
-[[参考ページ:https://developer.android.com/studio/instal...
*** Download [#qbbcfe5c]
-[[https://developer.android.com/studio?hl=ja]]
*** Install [#pbfc87cb]
-「studio64.exe」をダブルクリック。
** ADVの作成 [#f12cd0d1]
-Kitcat 4.4 API 19で作る。
--CPUがIntelの場合、あたり前だがCPU/ABIは x86を使用。
--The emulator process for AVD xxxxx was killed. が表示さ...
* PHP: Hypertext Preprocessor [#k50e5340]
http://www.php.net/
- http://jp2.php.net/ (日本のミラーサイト)
- 日本PHPユーザー会 (Japan PHP User Group)
-- http://www.php.gr.jp/
** PHP,エディタ,IDE [#f89f6505]
*** Eclipse [#cdbfa288]
-とにかく重い。。。最近は使ってない。
*** Atom [#d5d778cf]
-とにかく重い。。。最近は使ってない
*** Microsoft Visual Studio Code [#a2248b3e]
+最近はこれを使ってる。Linuxでも動く。~
+最近のMicrosoftは変わってLinuxと親和路線。良い感じ(^^)
+Install
++ubuntuへインストール
++[[Visual Studio Code公式ページ:https://code.visualstudi...
---.debのインストーラーを落とす
++以下のコマンドでインストール(例)
sudo dpkg -i code_1.51.0-1604600753_amd64.deb
+日本語化
++プラグインのインストールから以下を検索
++File -> User setting -> plugin -> 「Japanese」で検索
++「Install」をクリック
+その他プラグイン
++PHP IntelliSense(ほぼ必須)
++PHP Debug(お好みで)
++Eclipse Keymap(お好みで)
--- Ctrl + Hが変なところに割り振られるが、~
以下から変更することで元に戻る。
--- 「ファイル」->「ユーザー設定」->「キーボード・ショー...
--- 不要なものを削除。
+PHP Debugの使用方法
++PHPのインストール
sudo apt-get update
sudo apt-get install php php-mysql
++Apache2のインストール
sudo apt-get install apache2
++PhpInfoの表示方法
+++以下のファイルを作成
/var/www/html/phpInfo.php
+++中身はこんな感じ
<?php
phpinfo();
?>
+++表示
>
-[[http://localhost/phpInfo.php]]
<
++PhpInfoの全内容を以下のサイトにコピーして「Analyze my p...
---[[Installation Wizard:https://xdebug.org/wizard]]
++download [[xdebug-2.9.8.tgz:http://xdebug.org/files/xde...
++PreInstall
sudo apt-get install php-dev autoconf automake
++解凍
tar xzfv xdebug-2.9.8.tgz
++ディレクトリの移動
cd xdebug-2.9.8
++以下のコマンドを実行
phpize
./configure
make
++以下のコマンドの日付っぽい数字は各環境で変わります
sudo cp modules/xdebug.so /usr/lib/php/20170718
++ 「/etc/php/7.2/apache2/php.ini」ファイルの編集
sudo vim /etc/php/7.2/apache2/php.ini
++ 以下の行を最後に追加
; xdebug
zend_extension = /usr/lib/php/20170718/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
++ apache2の再起動
sudo service apache2 restart
++使用方法
+++Visual Studio Code上~
PHPコードの適当な所~
ブレークポイントを設定(標準ショートカットはF9)
+++Visual Studio Codeの左側のアイコン、上から4つ目,実行ア...
+++「launch.jsonファイルを作成します」のリンクをクリック
+++「PHP」を選択
+++作られれば「launch.json」ファイルは不要なので閉じます。
+++「実行」->「デバッグの開始」を押します。
+++Web Browser(Chromeなど)でアクセスします。以下は例
http://localhost/test.php
+++Visual Studio Code 上で止まることを確認します。
** phpで、Nikonのカメラで撮ったjpeg画像から、レンズ情報を...
-[[phpで、Nikonのカメラで撮ったjpeg画像から、レンズ情報を...
-php, timezone, タイムゾーン設定
sudo vi /etc/php.ini
date.timezone = "Asia/Tokyo"
** mbstringの設定 [#hbe2639b]
*** mbstring の install [#i3bc83fb]
yum install php-mbstring
*** mbstring の設定 [#c06e4a5d]
[mbstring]
; language for internal character representation.
; http://php.net/mbstring.language
mbstring.language = Japanese ← コメント(;)をはずします。
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
mbstring.internal_encoding = UTF-8 ← コメントをはずし、...
; http input encoding.
; http://php.net/mbstring.http-input
mbstring.http_input = auto ← コメント(;)をはずします。
; http output encoding. mb_output_handler must be
; registered as output buffer to function
; http://php.net/mbstring.http-output
mbstring.http_output = UTF-8 ← コメントをはずし、エンコ...
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
:
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
; http://php.net/mbstring.encoding-translation
mbstring.encoding_translation = On ← コメントをはずし、O...
; automatic encoding detection order.
; auto means
; http://php.net/mbstring.detect-order
mbstring.detect_order = auto ← コメント(;)をはずします。
** CentOS6 に PHP5.6 をインストール [#we8b32ba]
*** EPELとRemiリポジトリを追加 [#e610fc4c]
-EPEL リポジトリ
yum install epel-release
-Remi リポジトリ
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-r...
*** 旧PHPの削除 [#n58cbd56]
yum remove php-*
*** PHP5.6のインストール [#e8c9ff8e]
sudo yum install --enablerepo=remi,remi-php56 php php-de...
*** php-mysql のインストール [#kbc12fc5]
sudo yum install -y http://repo.mysql.com/mysql-communit...
sudo yum install phpMyAdmin
*** そのたダメおしインストール [#e5934ac8]
sudo yum install -y --enablerepo=epel libmcrypt libtidy
sudo yum install -y --enablerepo=remi,remi-php56 php php...
*** php.iniを編集 [#y05406ca]
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charset = none
** php5 -> php7 へマイグレーション(CentOS7へのインストー...
*** Apacheのインストール [#vdedc1eb]
sudo yum install httpd
*** mysqlのインストール(CentOS7) [#xf71daa1]
-以下を参照
--[[mysql#o324665b]]
*** php のインストール(CentOS7) [#yce37d55]
sudo yum install --enablerepo=remi,remi-php70 php php-de...
sudo yum install --enablerepo=remi,remi-php70 php-mysqlnd
*** mysql関連のソースコード変更 [#yfad7fcb]
- 参考リンク(外部) : [[mysqlをmysqli(手続き型)に書き直...
- $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
-- -> $con = mysql&color(red){i};_connect($DBSERVER, $DBU...
-- 「i」を付ける
-$selectdb = mysql_select_db($DBNAME, $con);
-- -> $selectdb = mysql&color(red){i};_select_db(&color(r...
-- 「i」を付け、$con と データベース名を逆にする
- $col = mysql_fetch_array($rst)
-- $rst = mysqlmysql&color(red){i};_query($con, $sql);
-- -> $col = mysqlmysql&color(red){i};_fetch_array($rst)
-- 「i」を付ける
-mysql_affected_rows()
-- $con = mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD);
-- $rst = mysqli_query($con, $sql);
-- -> mysql&color(red){i};_affected_rows($con)
-- 「i」を付ける
- ONLY_FULL_GROUP_BY の制限
-- 参考リンク(外部) : [[脱!ゆるふわMySQL:https://qiita.c...
-- group by する際, select で指定している項目は全て書かな...
--- 以下はエラー
select columnA, columnB, columnC, columnD from tableName...
--- 以下へ修正
select columnA, columnB, columnC, columnD from tableName...
*** その他 [#m8265fb3]
- split は使えない
-- explode へ変換
*** バージョン指定インストール(PHP) [#hb6cdd6b]
sudo yum install --disablerepo=* --enablerepo=epel,remi-...
** バージョンアップ(for zabbix) [#d7e8173b]
*** バージョンアップ前後のバージョン [#n4a7a416]
-バージョンアップ前
--5.3.3
-バージョンアップ後
--7.1.33
*** install されている php 関連パッケージを確認 [#d117ee3a]
rpm -qa | grep php
-例
php-xml-5.3.3-27.el6_5.2.x86_64
php-bcmath-5.3.3-27.el6_5.2.x86_64
php-pdo-5.3.3-27.el6_5.2.x86_64
php-5.3.3-27.el6_5.2.x86_64
php-common-5.3.3-27.el6_5.2.x86_64
php-mbstring-5.3.3-27.el6_5.2.x86_64
php-gd-5.3.3-27.el6_5.2.x86_64
php-cli-5.3.3-27.el6_5.2.x86_64
php-mysql-5.3.3-27.el6_5.2.x86_64
*** epel のインストール [#k50df99b]
sudo yum install epel-release
*** remi のインストール [#vc7568da]
sudo yum install https://rpms.remirepo.net/enterprise/re...
*** 旧PHPの削除 [#a759eea1]
yum remove php*
*** libwebp のインストール(したコマンドのエラー対策) [#g7...
yum install libwebp --enablerepo=epel
*** バージョンアップ・コマンド [#yb11c2d8]
yum install --enablerepo=remi,remi-php71 php php-pdo php...
** エラー表示 [#h0efac3b]
*** リンク [#c04472b9]
-[[PHPのエラー表示設定について(外部):https://qiita.com/sh...
*** PHPファイルで設定 1 [#wb8531f0]
<?php
// エラーを出力する
ini_set('display_errors', "On");
?>
*** PHPファイルで設定 2 [#ib8dc12d]
<?php
// エラーを出力する
ini_set( 'display_errors', 1 );
?>
*** httpd.conf or .htaccess [#xb10fa9f]
php_flag display_errors off
*** php.ini [#u2008ea5]
display_errors = Off
** PHP,その他 [#p73d34e6]
*** fopen, fgets, したハンドルをリセットする [#ea1c1d5e]
-ファイルポインタの位置を先頭に戻す
-例
<?php
$handle = fopen('output.txt', 'r+');
fwrite($handle, 'Really long sentence.');
rewind($handle);
fwrite($handle, 'Foo');
rewind($handle);
echo fread($handle, fil
*** PHP Warning: PHP Startup: Unable to load dynamic lib...
+[[参考:http://php.adamharvey.name/manual/ja/install.wind...
|php_exif.dll|EXIF 関数&br;php_mbstring.dll。&br;php.ini ...
+php.iniの場所を確認
++Windows(以下のコマンドの結果と同じPathにある)
where php
++Linux
which php
++ /bin の場合
--- バージョンを確認
php -v
--- 編集
sudo vi /etc/php/7.4/cli/php.ini
+php.iniで以下、修正
extension_dir = "./ext/"
extension=php_mbstring.dll
extension=php_exif.dll
** 今さら「PHP 5.2.1」「Apache 2.2」「MySQL 5.0.51a」+「V...
*** Apacheのダウンロードとインストール [#qd5edf0a]
+以下のサイトからダウンロード
-- [[Index of /dist/httpd/binaries/win32:https://archive....
-- 自分は以下
--- apache_2.2.8-win32-x86-openssl-0.9.8g.msi
+ MSIファイルを実行してインストール
-- 自分は以下のpathにインストール。
--- C:\php\Apache2.2
+conf ファイルの編集
-- 自分の場合のpath
--- "C:\php\Apache2.2\conf\httpd.conf"
++ 変更箇所1
--- 変更後
#Listen 80
Listen 20080
--- 変更前
Listen 80
++ 変更箇所2
--- 変更後
#ServerName hoge.domain.net:80
ServerName hoge.domain.net:20080
--- 変更前
ServerName hoge.domain.net:80
+apacheのインストール
--[[参考:Apache公式サイト;https://httpd.apache.org/docs/...
--以下は例
cd D:\php\Apache2.2\bin
httpd.exe -k install
+動作確認
-- 一応 Apacheは再起動
-- Windows PCで以下のURLにアクセス。~
「It works!」と表示されればOK。
--- [[http://localhost:20080/]]
+サービスの自動起動停止(ここはお好みで)
-- Windows + x -> コンピューターの管理 -> 下の方の「サー...
+Monitor Apache Servers の自動起動も停止
-- Ctrl + Shift + Esc -> 「スタートアップ」タブから無効化
*** PHPのインストール [#j4a3f322]
+ダウンロード
-- [[Unsupported Historical Releases:https://www.php.net/...
-- 自分は5.2.4 の Windows binary をダウンロード
+解凍する。php-5.2.1-Win32.zip
+解凍したものを自分は以下のフォルダへコピー
-- C:\php\php521
+php.iniファイルの作成(templateからコピー)
-- 元ファイルについて
--- php.ini-recommended
>
-セキュリティー高めのtemplate.
<
--- php.ini-dist
>
-開発する時はこっちがお勧めらしい。
<
-- なので php.ini-dist をコピーして名前を以下に変更
--- php.ini
+もう一度、apacheのconfファイル編集
--C:\php\Apache2.2\conf\httpd.conf
--以下を一番最後に追加
LoadModule php5_module "C:/php/php521/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php/php521"
+動作確認
-- phpinfo.php というファイルを以下のフォルダへ作成。
--- "C:\php\Apache2.2\htdocs\phpinfo.php"
-- ファイルの中身は以下な感じで作成。
<?php
phpinfo();
?>
-- 確認
--- [[http://localhost:20080/phpinfo.php]]
-- PHP Version 5.2.1 などの青っぽい画面が表示されればOK
***XDebugger のインストール [#y142c0fe]
+以下のサイトからダウンロード
-- [[https://xdebug.org/download/historical]]
-- PHP 5.2 に合うXDebuggerはピンポイントで以下。
--- 「Xdebug 2.1.2」「PHP 5.2 VC6 TS (32bit)」
--- TS はスレッドセーフ(Thread Safe)の略。
--- 対義語はNTS(Not Thread Safe)
--- ダウンロードするとわかるが、dllのファイルにNTSが付い...
-- ダウンロードしたdllファイル(php_xdebug-2.1.2-5.2-vc6.d...
--- C:\php\php521\ext\
+php.iniの編集
-- "C:\php\php521\php.ini"
-- 以下の語句を最後に追加
[XDebug]
xdebug.dump_undefined = 1
xdebug.remote_enable = 1
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart = 1
xdebug.remote_log = "c:\php\xdebugLog\xdebug.log"
zend_extension_ts=C:\php\php521\ext\php_xdebug-2.1.2-5.2...
+インストールされたか確認
-- 一応Apacheは再起動
-- コマンド・プロンプトから以下のコマンドで確認
php -v
-- 以下の表示で認識したことを確認
--- C:\Users\metal>php -v~
PHP 5.2.1 (cli) (built: Feb 7 2007 23:11:26)~
Copyright (c) 1997-2007 The PHP Group~
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technolo...
&color(red,){with Xdebug}; v2.1.2, Copyright (c) 20...
--- &color(red,){注意:phpinfoには反映されません};
*** VS code(Visual Studio Code) [#ra09487c]
+ PHP Debugのインストール
++ 左側のテトリスみたいなマークをクリック。
++ 検索のテキスト・ボックスに「PHP Debug」を入力し検索す...
++ 検索結果を選択し右側の「インストール」ボタンを押しイン...
+ PHP Debugの設定
++ 左側の虫と再生マークをクリックする。(下から2番目)
++ 「launch.json」のリンクをクリックする。(「実行とデバッ...
--- 「PHP」を選択。
--- その前に「ワークスペース」と出る事もある。
++ 以下のように編集
"launch": {
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug 2 (Legacy)",
"type": "php",
"request": "launch",
"port": 9001
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9001,
}
]
}
+PHP Intelephenseの設定確認
++ 左側、テトリスみたいなマークをクリック
++ 「PHP Intelephense」の歯車マークをクリック
++ 「拡張機能の設定」をクリック
++ どこかにある「settings.jsonで編集」をクリック
++ 以下2点、合っているか確認し、違っていれば修正
"php.validate.executablePath": "C:\\php\\php521\\php.exe",
"php.executablePath": "C:\\php\\php521\\php.exe",
+動作確認
++ 一応Apacheは再起動
++ VS code で先程作った phpinfo.php を開く。
++ 「phpinfo();」 の左側をクリックしブレークポイントを設...
++ 実行前に「Launch currently open script」を選択する。
++ F5キーで実行
--- 止まる事を確認
** 「Fatal error: Call to undefined function mysqli_conne...
-[Apache Service Monitor]から再起動してもApacheは再起動さ...
-- Windowsのサービスから再起動が必要
* java [#r746e3cd]
** servlet の 405 エラー [#xd1ac8a7]
- doGet メソッドに super.doGet(req,resp); を含めてはいけ...
** Subversion [#f35293d4]
[[参考サイト(Linux-UbuntuでのSubversionのインストールと使...
*** Install [#e585c65d]
-Apache のインストール
sudo apt-get install apache2
-Subversion のインストール
sudo apt-get install subversion subversion-tools libapac...
*** Subversion の設定 [#ua21e8e9]
- 必要なファイルを /etc/apache2/mods-enabled/ へリンク
cd /etc/apache2/mods-enabled
ln -s ../mods-available/dav.load dav.load
ln -s ../mods-available/authz_svn.load authz_svn.load
ln -s ../mods-available/dav_svn.conf dav_svn.conf
ln -s ../mods-available/dav_svn.load dav_svn.load
- [dav_do_find_liveprop]エラー対応
-- dav.load が読み込まれていない。以下確認
cd /etc/apache2/mods-enabled
ln -s ../mods-available/dav.load dav.load
-conf ファイルの編集
-- 以下の文字列を追加。~
sudo vim /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
DAV svn
SVNParentPath /home/svn
</Location>
*** リポジトリの作成 [#x52c7bab]
sudo mkdir /home/svn/
cd /home/svn/
sudo svnadmin create test
*** 作成したファイルの権限変更 [#o3f945e6]
cd /home/svn/
sudo chown -R www-data:www-data test
*** ElipseへSubversion client をインストールする。 [#a4ee...
- Subversion client のインストール
-- neon を例に取って進める。
-- [ヘルプ]-[Install new software]
-[作業対象]に右のURLを入力[http://community.polarion.com/...
-右を選択しインストール。Subversive SVNコネクター > SVNKi...
*** Android studio, Subversionの設定(中身なし) [#ib25e5b7]
-[バージョン管理]-[Enable version control integration...]
-[Subversion]を選択しOK
-最初にチェックアウトを行う
-- [バージョン管理] - [バージョン管理からのチェックアウト...
* UML図 [#o92cd006]
** シーケンス図(Sequence Diagram) [#pabb66fc]
- 自動で書けるツールを色々と探してたが見つからなかった。~
ただし以下のソフトはとても良かったので紹介。
--[[PlantUML:http://plantuml.com/]]
--[[Manual:http://plantuml.com/sequence-diagram]]
終了行:
[[Dramsuko_wiki]]
#shadowheader(1,Program);
#shadowheader(2,目次);
#contents
* Android アプリ開発[#cf59c923]
-[[参考サイト(ASCIIデジタル これで作れる! Androidのアプ...
Eclipse + Android SDK の記事ですが、自分はこの記事を Andr...
アプリを作成しています。~
** 開発ソフト [#i6610ec6]
*** eclipse [#pfd740ed]
Android 開発のサポートが2015年12月で終了することが発表さ...
*** Android Studio [#f26f6641]
Eclipse 亡き後、無料の開発ツールはこちらにシフトしていく...
Windows,Mac,Linux 全てのOSに対応しているため、Eclipse 同...
* Android Studio(Ubuntu) [#z49cb08d]
** Install [#q7f35ca1]
-2020/8/29
-事前準備
sudo apt install openjdk-11-jdk
sudo apt-get install libc6:i386 libncurses5:i386 libstdc...
libbz2-1.0:i386 adb
sudo apt install qemu-kvm
sudo adduser $USER kvm
-Android Studio のダウンロード
--[[Android Studio(Developers):https://developer.android....
-ファイルを展開(path名は適宜変えて下さい)
mkdir ~/androidStudio
mv android-studio-ide-193.6626763-linux.tar.gz ~/android...
cd ~/androidStudio
tar zxfv android-studio-ide-193.6626763-linux.tar.gz
-studio.sh を実行
android-studio/bin/studio.sh
++ 過去の設定を読み込むか聞かれる。とりあえず「Do not imp...
--- 「OK」 ボタン
++ (このあと固まってるようだったので ctrl + c で一度キャ...
++ Data Sharing
--- 自分はとりあえず「Send usage statistics to Google」を...
--- 無料で使えるソフトは開発元にフィードバックしてお礼し...
++ (このあと固まってるようだったので ctrl + c で一度キャ...
++ しばらくすると「Next」ボタンが出てきたので押した
++ Install Type「Custom」を選択してみる。
++ Select default JDK Location.
--- [Next]ボタンを押す
++ Select UI Theme。自分は「Light」を選択して「Next」ボタ...
++ SDK Components Setup。選択できる所はすべて選択して「Ne...
++ Verify Settings。「Next」ボタン。
++ Emulator Settings。「Finish」ボタン。
++ Download中。しばし待つ。
++ 「Finish」ボタン
++ その後、何度か Ctrl + c を押してから再起動したら起動し...
** 初期設定 [#k787fb24]
-右上の「SDK Manager」を押して持っているAndroid のバージ...
** ショートカットキーまとめ [#g6db5889]
+全般
-- エラーの対策候補の表示:Alt + Enter
-- クイックフィックス:Alt + Enter
-- ハイライトされているエラーへ飛ぶ:F2 or Shift + F2
-- Refactor Rename:Shift + F6
-- メソッドパラメーターの表示:Ctrl + P
-- 使ったファイルの履歴からファイルを選択:Ctrl + E
-- ナビゲーションバーを開く:Ctrl + Home
-- コード生成メニューの表示:Alt + Insert
-- 「ビュー」の選択を表示:Alt + F1
-- 置換:Ctrl + R
-- 囲む(TryCatchなど):Ctrl + Alt + T
-- Introduce Variable:Ctrl + Alt + V
-- コメント(行):Ctrl + /
-- コメント(ブロック):Ctrl + Shift + /
-- 検索:Shift,Shift
-- Compile:Ctrl + F9
-- 自動Import:Ctrl + Alt + O
-- ソースの畳み込み:Ctrl + Numpad -
-- ソースの展開:Ctrl + Numpad +
+デバッグ
-- ブレークポイント:Ctrl + F8
-- デバッグの実行:F9
-- デバッグの停止:Ctrl + F2
-- プログラムの再開:F9
-- ステップオーバー:F8
-- ステップイン:F7
-- ステップアウト:Shift + F8
-- カーソル位置まで実行:Alt + F9
+定義
-- 定義へジャンプ:Ctrl + B
-- 参照されている箇所の表示:Alt + F7
-- ローカル変数の定義:Ctrl + Alt + V
-- フィールドの定義:Ctrl + Alt + F
-- 定数定義:Ctrl + Alt + C
-- メソッドの定義:Ctrl + Alt + M
-- strings.xml へ書き出し:Alt + Enter -> Extract string r...
+エミュレーター
-- Android:Home ボタン
--- Home ボタン
-- Android:Menuボタン
--- F2
-- Android:Startボタン
--- Shift + F2,PageDown
-- Android:Backボタン
--- ESCボタン
-- Android:発信・通話ボタン
--- F3
-- Android:終話ボタン
--- F4
-- Android:検索ボタン
--- F5
-- Android:電源ボタン
--- F7
-- Android:ボリュームアップボタン
--- テンキーのプラス,Ctrl + F5
-- Android:ボリュームダウンボタン
--- テンキーのマイナス,Ctrl + F6
-- Android:カメラボタン
--- Ctrl + Numpad 5, Ctrl + F3
-- Android:横レイアウトへ切り替え
--- Ctrl + Numpad 7, Ctrl + Numpad 9
-- Android:前のレイアウトに切り替え
--- Numpad 7, または Ctrl + F11
-- Android:次のレイアウトに切り替え
--- Numpad 9, または Ctrl + F12
-- Android:方向ボタン
--- Numpad 4,8.6.2
-- Android:方向ボタンの真ん中
--- Numpad 5
** Android 開発の基本 [#b8354775]
*** ソースのディレクトリ構造 [#ge4975a3]
-java
--Mainソースの場所
--- app -> src -> main -> java -> (domain name) -> MainAc...
- レイアウトの場所
-- Main レイアウト
--- app -> src -> main -> res -> layout -> activity_main....
-- 横向きレイアウト landscape
--- app -> src -> main -> res -> layout-land -> activity_...
- constant(定数)
--文字列のConstantファイル(定数設定ファイル)の場所
--- app -> src -> main -> res -> values -> strings.xml
--日本語文字列のConstantファイル(定数設定ファイル)の場所(...
--- app -> src -> main -> res -> values-ja -> strings.xml
--数字のConstantファイル(定数設定ファイル)の場所(初期はな...
--- app -> src -> main -> res -> values -> integers.xml
-AndroidManifest.xml の場所
-- app -> src -> main -> res -> AndroidManifest.xml
** エミュレーター [#r7e11c0b]
*** カメラをエミュレートする [#odf22ace]
- エミュレーターの設定でカメラを有効にする。
** その他 [#r5976e6f]
*** Log.d 種類 [#vabe632a]
- Android Monitor, Logcat で表示
Log.e(TAG, error);
Log.w(TAG, warn);
Log.i(TAG, info);
Log.d(TAG, debug);
Log.v(TAG, verbose);
*** 実行中のメソッド名を取得 [#j344f6db]
StackTraceElement[] stackTraceElements = Thread.currentT...
for (StackTraceElement stackTraceElement : stackTraceEle...
System.out.println("-----------------------------");
System.out.println("ClassName : " + stackTraceElement...
System.out.println("FileName : " + stackTraceElement...
System.out.println("MethodName : " + stackTraceElement...
System.out.println("LineNumber : " + stackTraceElement...
System.out.println("-----------------------------");
}
*** インテントについて [#b422703b]
-インテントとは「機能」の呼び出しのこと。~
例えばウェブブラウザーを呼び出すときは、~
ブラウザーの名前を指定すること無く、~
ウェッブラウザーの「機能」を呼び出す。~
すると、ウェブブラウザー機能を持ったどのソフトを起動する...
選択画面が表示される。~
-またインテントはアクティビティー切り替えにも利用される。
*** 独自Classの getString について [#z240e1e0]
Context を引数渡ししてあげればいい。
そうすると
argContext.getString(R.string.logdRunnning);
などで引ける。
全体的には
public void outputLogSummary(Context argContext,
Integer argMethodNo){
String logComment = argContext.getString(R.string.lo...
this.outputLogSummary(argContext,argMethodNo,logComm...
}
呼び出し元は
private CommonCls pCommonCls = new CommonCls();
pCommonCls.outputLogSummary(this, METHOD_NO_MAIN_ACTIVIT...
*** Activity の追加 [#k8cc3fa3]
AndroidManifest.xml に追加するのを忘れないようにしよう。~
また追加は「新規」-「Activity」-「Brank Activity」で~
追加するとレイアウトも一緒に追加されて便利。~
以下はAndroidManifest.xml
<activity
android:name=".Sample0501"
android:label="@string/title_activity_sample0501"></...
*** USB Developer options, 実機のデバッグ, 認識しない場合...
+最初にUSBケーブルでPCと接続
+Android studio を起動しておく
+[Developer options]-[USB debugging] をオン、オフする。
*** R.id.IntentRequestGeneral [#o9fcb76d]
- クイックフィックスから、[Create ID value resource] を選...
- 値は1でOK。
*** その他 [#g6b255e7]
-layoutのファイル名は小文字のみ使用可能
* Android Studio(Windows) [#m167ca18]
** Download and Install [#y41a1f80]
-[[参考ページ:https://developer.android.com/studio/instal...
*** Download [#qbbcfe5c]
-[[https://developer.android.com/studio?hl=ja]]
*** Install [#pbfc87cb]
-「studio64.exe」をダブルクリック。
** ADVの作成 [#f12cd0d1]
-Kitcat 4.4 API 19で作る。
--CPUがIntelの場合、あたり前だがCPU/ABIは x86を使用。
--The emulator process for AVD xxxxx was killed. が表示さ...
* PHP: Hypertext Preprocessor [#k50e5340]
http://www.php.net/
- http://jp2.php.net/ (日本のミラーサイト)
- 日本PHPユーザー会 (Japan PHP User Group)
-- http://www.php.gr.jp/
** PHP,エディタ,IDE [#f89f6505]
*** Eclipse [#cdbfa288]
-とにかく重い。。。最近は使ってない。
*** Atom [#d5d778cf]
-とにかく重い。。。最近は使ってない
*** Microsoft Visual Studio Code [#a2248b3e]
+最近はこれを使ってる。Linuxでも動く。~
+最近のMicrosoftは変わってLinuxと親和路線。良い感じ(^^)
+Install
++ubuntuへインストール
++[[Visual Studio Code公式ページ:https://code.visualstudi...
---.debのインストーラーを落とす
++以下のコマンドでインストール(例)
sudo dpkg -i code_1.51.0-1604600753_amd64.deb
+日本語化
++プラグインのインストールから以下を検索
++File -> User setting -> plugin -> 「Japanese」で検索
++「Install」をクリック
+その他プラグイン
++PHP IntelliSense(ほぼ必須)
++PHP Debug(お好みで)
++Eclipse Keymap(お好みで)
--- Ctrl + Hが変なところに割り振られるが、~
以下から変更することで元に戻る。
--- 「ファイル」->「ユーザー設定」->「キーボード・ショー...
--- 不要なものを削除。
+PHP Debugの使用方法
++PHPのインストール
sudo apt-get update
sudo apt-get install php php-mysql
++Apache2のインストール
sudo apt-get install apache2
++PhpInfoの表示方法
+++以下のファイルを作成
/var/www/html/phpInfo.php
+++中身はこんな感じ
<?php
phpinfo();
?>
+++表示
>
-[[http://localhost/phpInfo.php]]
<
++PhpInfoの全内容を以下のサイトにコピーして「Analyze my p...
---[[Installation Wizard:https://xdebug.org/wizard]]
++download [[xdebug-2.9.8.tgz:http://xdebug.org/files/xde...
++PreInstall
sudo apt-get install php-dev autoconf automake
++解凍
tar xzfv xdebug-2.9.8.tgz
++ディレクトリの移動
cd xdebug-2.9.8
++以下のコマンドを実行
phpize
./configure
make
++以下のコマンドの日付っぽい数字は各環境で変わります
sudo cp modules/xdebug.so /usr/lib/php/20170718
++ 「/etc/php/7.2/apache2/php.ini」ファイルの編集
sudo vim /etc/php/7.2/apache2/php.ini
++ 以下の行を最後に追加
; xdebug
zend_extension = /usr/lib/php/20170718/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
++ apache2の再起動
sudo service apache2 restart
++使用方法
+++Visual Studio Code上~
PHPコードの適当な所~
ブレークポイントを設定(標準ショートカットはF9)
+++Visual Studio Codeの左側のアイコン、上から4つ目,実行ア...
+++「launch.jsonファイルを作成します」のリンクをクリック
+++「PHP」を選択
+++作られれば「launch.json」ファイルは不要なので閉じます。
+++「実行」->「デバッグの開始」を押します。
+++Web Browser(Chromeなど)でアクセスします。以下は例
http://localhost/test.php
+++Visual Studio Code 上で止まることを確認します。
** phpで、Nikonのカメラで撮ったjpeg画像から、レンズ情報を...
-[[phpで、Nikonのカメラで撮ったjpeg画像から、レンズ情報を...
-php, timezone, タイムゾーン設定
sudo vi /etc/php.ini
date.timezone = "Asia/Tokyo"
** mbstringの設定 [#hbe2639b]
*** mbstring の install [#i3bc83fb]
yum install php-mbstring
*** mbstring の設定 [#c06e4a5d]
[mbstring]
; language for internal character representation.
; http://php.net/mbstring.language
mbstring.language = Japanese ← コメント(;)をはずします。
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
mbstring.internal_encoding = UTF-8 ← コメントをはずし、...
; http input encoding.
; http://php.net/mbstring.http-input
mbstring.http_input = auto ← コメント(;)をはずします。
; http output encoding. mb_output_handler must be
; registered as output buffer to function
; http://php.net/mbstring.http-output
mbstring.http_output = UTF-8 ← コメントをはずし、エンコ...
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
:
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
; http://php.net/mbstring.encoding-translation
mbstring.encoding_translation = On ← コメントをはずし、O...
; automatic encoding detection order.
; auto means
; http://php.net/mbstring.detect-order
mbstring.detect_order = auto ← コメント(;)をはずします。
** CentOS6 に PHP5.6 をインストール [#we8b32ba]
*** EPELとRemiリポジトリを追加 [#e610fc4c]
-EPEL リポジトリ
yum install epel-release
-Remi リポジトリ
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-r...
*** 旧PHPの削除 [#n58cbd56]
yum remove php-*
*** PHP5.6のインストール [#e8c9ff8e]
sudo yum install --enablerepo=remi,remi-php56 php php-de...
*** php-mysql のインストール [#kbc12fc5]
sudo yum install -y http://repo.mysql.com/mysql-communit...
sudo yum install phpMyAdmin
*** そのたダメおしインストール [#e5934ac8]
sudo yum install -y --enablerepo=epel libmcrypt libtidy
sudo yum install -y --enablerepo=remi,remi-php56 php php...
*** php.iniを編集 [#y05406ca]
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charset = none
** php5 -> php7 へマイグレーション(CentOS7へのインストー...
*** Apacheのインストール [#vdedc1eb]
sudo yum install httpd
*** mysqlのインストール(CentOS7) [#xf71daa1]
-以下を参照
--[[mysql#o324665b]]
*** php のインストール(CentOS7) [#yce37d55]
sudo yum install --enablerepo=remi,remi-php70 php php-de...
sudo yum install --enablerepo=remi,remi-php70 php-mysqlnd
*** mysql関連のソースコード変更 [#yfad7fcb]
- 参考リンク(外部) : [[mysqlをmysqli(手続き型)に書き直...
- $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
-- -> $con = mysql&color(red){i};_connect($DBSERVER, $DBU...
-- 「i」を付ける
-$selectdb = mysql_select_db($DBNAME, $con);
-- -> $selectdb = mysql&color(red){i};_select_db(&color(r...
-- 「i」を付け、$con と データベース名を逆にする
- $col = mysql_fetch_array($rst)
-- $rst = mysqlmysql&color(red){i};_query($con, $sql);
-- -> $col = mysqlmysql&color(red){i};_fetch_array($rst)
-- 「i」を付ける
-mysql_affected_rows()
-- $con = mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD);
-- $rst = mysqli_query($con, $sql);
-- -> mysql&color(red){i};_affected_rows($con)
-- 「i」を付ける
- ONLY_FULL_GROUP_BY の制限
-- 参考リンク(外部) : [[脱!ゆるふわMySQL:https://qiita.c...
-- group by する際, select で指定している項目は全て書かな...
--- 以下はエラー
select columnA, columnB, columnC, columnD from tableName...
--- 以下へ修正
select columnA, columnB, columnC, columnD from tableName...
*** その他 [#m8265fb3]
- split は使えない
-- explode へ変換
*** バージョン指定インストール(PHP) [#hb6cdd6b]
sudo yum install --disablerepo=* --enablerepo=epel,remi-...
** バージョンアップ(for zabbix) [#d7e8173b]
*** バージョンアップ前後のバージョン [#n4a7a416]
-バージョンアップ前
--5.3.3
-バージョンアップ後
--7.1.33
*** install されている php 関連パッケージを確認 [#d117ee3a]
rpm -qa | grep php
-例
php-xml-5.3.3-27.el6_5.2.x86_64
php-bcmath-5.3.3-27.el6_5.2.x86_64
php-pdo-5.3.3-27.el6_5.2.x86_64
php-5.3.3-27.el6_5.2.x86_64
php-common-5.3.3-27.el6_5.2.x86_64
php-mbstring-5.3.3-27.el6_5.2.x86_64
php-gd-5.3.3-27.el6_5.2.x86_64
php-cli-5.3.3-27.el6_5.2.x86_64
php-mysql-5.3.3-27.el6_5.2.x86_64
*** epel のインストール [#k50df99b]
sudo yum install epel-release
*** remi のインストール [#vc7568da]
sudo yum install https://rpms.remirepo.net/enterprise/re...
*** 旧PHPの削除 [#a759eea1]
yum remove php*
*** libwebp のインストール(したコマンドのエラー対策) [#g7...
yum install libwebp --enablerepo=epel
*** バージョンアップ・コマンド [#yb11c2d8]
yum install --enablerepo=remi,remi-php71 php php-pdo php...
** エラー表示 [#h0efac3b]
*** リンク [#c04472b9]
-[[PHPのエラー表示設定について(外部):https://qiita.com/sh...
*** PHPファイルで設定 1 [#wb8531f0]
<?php
// エラーを出力する
ini_set('display_errors', "On");
?>
*** PHPファイルで設定 2 [#ib8dc12d]
<?php
// エラーを出力する
ini_set( 'display_errors', 1 );
?>
*** httpd.conf or .htaccess [#xb10fa9f]
php_flag display_errors off
*** php.ini [#u2008ea5]
display_errors = Off
** PHP,その他 [#p73d34e6]
*** fopen, fgets, したハンドルをリセットする [#ea1c1d5e]
-ファイルポインタの位置を先頭に戻す
-例
<?php
$handle = fopen('output.txt', 'r+');
fwrite($handle, 'Really long sentence.');
rewind($handle);
fwrite($handle, 'Foo');
rewind($handle);
echo fread($handle, fil
*** PHP Warning: PHP Startup: Unable to load dynamic lib...
+[[参考:http://php.adamharvey.name/manual/ja/install.wind...
|php_exif.dll|EXIF 関数&br;php_mbstring.dll。&br;php.ini ...
+php.iniの場所を確認
++Windows(以下のコマンドの結果と同じPathにある)
where php
++Linux
which php
++ /bin の場合
--- バージョンを確認
php -v
--- 編集
sudo vi /etc/php/7.4/cli/php.ini
+php.iniで以下、修正
extension_dir = "./ext/"
extension=php_mbstring.dll
extension=php_exif.dll
** 今さら「PHP 5.2.1」「Apache 2.2」「MySQL 5.0.51a」+「V...
*** Apacheのダウンロードとインストール [#qd5edf0a]
+以下のサイトからダウンロード
-- [[Index of /dist/httpd/binaries/win32:https://archive....
-- 自分は以下
--- apache_2.2.8-win32-x86-openssl-0.9.8g.msi
+ MSIファイルを実行してインストール
-- 自分は以下のpathにインストール。
--- C:\php\Apache2.2
+conf ファイルの編集
-- 自分の場合のpath
--- "C:\php\Apache2.2\conf\httpd.conf"
++ 変更箇所1
--- 変更後
#Listen 80
Listen 20080
--- 変更前
Listen 80
++ 変更箇所2
--- 変更後
#ServerName hoge.domain.net:80
ServerName hoge.domain.net:20080
--- 変更前
ServerName hoge.domain.net:80
+apacheのインストール
--[[参考:Apache公式サイト;https://httpd.apache.org/docs/...
--以下は例
cd D:\php\Apache2.2\bin
httpd.exe -k install
+動作確認
-- 一応 Apacheは再起動
-- Windows PCで以下のURLにアクセス。~
「It works!」と表示されればOK。
--- [[http://localhost:20080/]]
+サービスの自動起動停止(ここはお好みで)
-- Windows + x -> コンピューターの管理 -> 下の方の「サー...
+Monitor Apache Servers の自動起動も停止
-- Ctrl + Shift + Esc -> 「スタートアップ」タブから無効化
*** PHPのインストール [#j4a3f322]
+ダウンロード
-- [[Unsupported Historical Releases:https://www.php.net/...
-- 自分は5.2.4 の Windows binary をダウンロード
+解凍する。php-5.2.1-Win32.zip
+解凍したものを自分は以下のフォルダへコピー
-- C:\php\php521
+php.iniファイルの作成(templateからコピー)
-- 元ファイルについて
--- php.ini-recommended
>
-セキュリティー高めのtemplate.
<
--- php.ini-dist
>
-開発する時はこっちがお勧めらしい。
<
-- なので php.ini-dist をコピーして名前を以下に変更
--- php.ini
+もう一度、apacheのconfファイル編集
--C:\php\Apache2.2\conf\httpd.conf
--以下を一番最後に追加
LoadModule php5_module "C:/php/php521/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php/php521"
+動作確認
-- phpinfo.php というファイルを以下のフォルダへ作成。
--- "C:\php\Apache2.2\htdocs\phpinfo.php"
-- ファイルの中身は以下な感じで作成。
<?php
phpinfo();
?>
-- 確認
--- [[http://localhost:20080/phpinfo.php]]
-- PHP Version 5.2.1 などの青っぽい画面が表示されればOK
***XDebugger のインストール [#y142c0fe]
+以下のサイトからダウンロード
-- [[https://xdebug.org/download/historical]]
-- PHP 5.2 に合うXDebuggerはピンポイントで以下。
--- 「Xdebug 2.1.2」「PHP 5.2 VC6 TS (32bit)」
--- TS はスレッドセーフ(Thread Safe)の略。
--- 対義語はNTS(Not Thread Safe)
--- ダウンロードするとわかるが、dllのファイルにNTSが付い...
-- ダウンロードしたdllファイル(php_xdebug-2.1.2-5.2-vc6.d...
--- C:\php\php521\ext\
+php.iniの編集
-- "C:\php\php521\php.ini"
-- 以下の語句を最後に追加
[XDebug]
xdebug.dump_undefined = 1
xdebug.remote_enable = 1
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart = 1
xdebug.remote_log = "c:\php\xdebugLog\xdebug.log"
zend_extension_ts=C:\php\php521\ext\php_xdebug-2.1.2-5.2...
+インストールされたか確認
-- 一応Apacheは再起動
-- コマンド・プロンプトから以下のコマンドで確認
php -v
-- 以下の表示で認識したことを確認
--- C:\Users\metal>php -v~
PHP 5.2.1 (cli) (built: Feb 7 2007 23:11:26)~
Copyright (c) 1997-2007 The PHP Group~
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technolo...
&color(red,){with Xdebug}; v2.1.2, Copyright (c) 20...
--- &color(red,){注意:phpinfoには反映されません};
*** VS code(Visual Studio Code) [#ra09487c]
+ PHP Debugのインストール
++ 左側のテトリスみたいなマークをクリック。
++ 検索のテキスト・ボックスに「PHP Debug」を入力し検索す...
++ 検索結果を選択し右側の「インストール」ボタンを押しイン...
+ PHP Debugの設定
++ 左側の虫と再生マークをクリックする。(下から2番目)
++ 「launch.json」のリンクをクリックする。(「実行とデバッ...
--- 「PHP」を選択。
--- その前に「ワークスペース」と出る事もある。
++ 以下のように編集
"launch": {
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug 2 (Legacy)",
"type": "php",
"request": "launch",
"port": 9001
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9001,
}
]
}
+PHP Intelephenseの設定確認
++ 左側、テトリスみたいなマークをクリック
++ 「PHP Intelephense」の歯車マークをクリック
++ 「拡張機能の設定」をクリック
++ どこかにある「settings.jsonで編集」をクリック
++ 以下2点、合っているか確認し、違っていれば修正
"php.validate.executablePath": "C:\\php\\php521\\php.exe",
"php.executablePath": "C:\\php\\php521\\php.exe",
+動作確認
++ 一応Apacheは再起動
++ VS code で先程作った phpinfo.php を開く。
++ 「phpinfo();」 の左側をクリックしブレークポイントを設...
++ 実行前に「Launch currently open script」を選択する。
++ F5キーで実行
--- 止まる事を確認
** 「Fatal error: Call to undefined function mysqli_conne...
-[Apache Service Monitor]から再起動してもApacheは再起動さ...
-- Windowsのサービスから再起動が必要
* java [#r746e3cd]
** servlet の 405 エラー [#xd1ac8a7]
- doGet メソッドに super.doGet(req,resp); を含めてはいけ...
** Subversion [#f35293d4]
[[参考サイト(Linux-UbuntuでのSubversionのインストールと使...
*** Install [#e585c65d]
-Apache のインストール
sudo apt-get install apache2
-Subversion のインストール
sudo apt-get install subversion subversion-tools libapac...
*** Subversion の設定 [#ua21e8e9]
- 必要なファイルを /etc/apache2/mods-enabled/ へリンク
cd /etc/apache2/mods-enabled
ln -s ../mods-available/dav.load dav.load
ln -s ../mods-available/authz_svn.load authz_svn.load
ln -s ../mods-available/dav_svn.conf dav_svn.conf
ln -s ../mods-available/dav_svn.load dav_svn.load
- [dav_do_find_liveprop]エラー対応
-- dav.load が読み込まれていない。以下確認
cd /etc/apache2/mods-enabled
ln -s ../mods-available/dav.load dav.load
-conf ファイルの編集
-- 以下の文字列を追加。~
sudo vim /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
DAV svn
SVNParentPath /home/svn
</Location>
*** リポジトリの作成 [#x52c7bab]
sudo mkdir /home/svn/
cd /home/svn/
sudo svnadmin create test
*** 作成したファイルの権限変更 [#o3f945e6]
cd /home/svn/
sudo chown -R www-data:www-data test
*** ElipseへSubversion client をインストールする。 [#a4ee...
- Subversion client のインストール
-- neon を例に取って進める。
-- [ヘルプ]-[Install new software]
-[作業対象]に右のURLを入力[http://community.polarion.com/...
-右を選択しインストール。Subversive SVNコネクター > SVNKi...
*** Android studio, Subversionの設定(中身なし) [#ib25e5b7]
-[バージョン管理]-[Enable version control integration...]
-[Subversion]を選択しOK
-最初にチェックアウトを行う
-- [バージョン管理] - [バージョン管理からのチェックアウト...
* UML図 [#o92cd006]
** シーケンス図(Sequence Diagram) [#pabb66fc]
- 自動で書けるツールを色々と探してたが見つからなかった。~
ただし以下のソフトはとても良かったので紹介。
--[[PlantUML:http://plantuml.com/]]
--[[Manual:http://plantuml.com/sequence-diagram]]
ページ名: