#author("2024-08-03T13:23:49+09:00","default:dramsukohome","dramsukohome") #author("2024-08-03T16:19:04+09:00","default:dramsukohome","dramsukohome") [[Dramsuko_wiki]] #shadowheader(1,Program); #shadowheader(2,目次); #contents * Android アプリ開発[#cf59c923] -[[参考サイト(ASCIIデジタル これで作れる! Androidのアプリケーション):http://ascii.jp/elem/000/000/533/533945/]]~ Eclipse + Android SDK の記事ですが、自分はこの記事を Android Studio に読み替えて~ アプリを作成しています。~ ** 開発ソフト [#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++6:i386 lib32z1 libbz2-1.0:i386 adb sudo apt install qemu-kvm sudo adduser $USER kvm -Android Studio のダウンロード --[[Android Studio(Developers):https://developer.android.com/studio?hl=ja]] -ファイルを展開(path名は適宜変えて下さい) mkdir ~/androidStudio mv android-studio-ide-193.6626763-linux.tar.gz ~/androidStudio cd ~/androidStudio tar zxfv android-studio-ide-193.6626763-linux.tar.gz -studio.sh を実行 android-studio/bin/studio.sh ++ 過去の設定を読み込むか聞かれる。とりあえず「Do not import settings」を選択。 --- 「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。選択できる所はすべて選択して「Next」ボタン。 ++ 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 resource +エミュレーター -- 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) -> MainActivity - レイアウトの場所 -- Main レイアウト --- app -> src -> main -> res -> layout -> activity_main.xml -- 横向きレイアウト landscape --- app -> src -> main -> res -> layout-land -> activity_main.xml - 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.currentThread().getStackTrace(); for (StackTraceElement stackTraceElement : stackTraceElements) { System.out.println("-----------------------------"); System.out.println("ClassName : " + stackTraceElement.getClassName()); System.out.println("FileName : " + stackTraceElement.getFileName()); System.out.println("MethodName : " + stackTraceElement.getMethodName()); System.out.println("LineNumber : " + stackTraceElement.getLineNumber()); 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.logdRunning); this.outputLogSummary(argContext,argMethodNo,logComment); } 呼び出し元は private CommonCls pCommonCls = new CommonCls(); pCommonCls.outputLogSummary(this, METHOD_NO_MAIN_ACTIVITY); *** Activity の追加 [#k8cc3fa3] AndroidManifest.xml に追加するのを忘れないようにしよう。~ また追加は「新規」-「Activity」-「Brank Activity」で~ 追加するとレイアウトも一緒に追加されて便利。~ 以下はAndroidManifest.xml <activity android:name=".Sample0501" android:label="@string/title_activity_sample0501"></activity> *** USB Developer options, 実機のデバッグ, 認識しない場合, debug [#haa5ffb2] +最初にUSBケーブルでPCと接続 +Android studio を起動しておく +[Developer options]-[USB debugging] をオン、オフする。 *** R.id.IntentRequestGeneral [#o9fcb76d] - クイックフィックスから、[Create ID value resource] を選択してids.xmlを作成する。 - 値は1でOK。 *** その他 [#g6b255e7] -layoutのファイル名は小文字のみ使用可能 * Android Studio(Windows) [#m167ca18] ** Download and Install [#y41a1f80] -[[参考ページ:https://developer.android.com/studio/install?hl=ja#windows]] *** 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. が表示されて、すったもんだ1時間以上悩んだが、CPU/ABIがarmになってた。。。orz * 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.visualstudio.com/]] ---.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が変なところに割り振られるが、~ 以下から変更することで元に戻る。 --- 「ファイル」->「ユーザー設定」->「キーボード・ショートカット」->「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 phpinfo() output」ボタンを押す ---[[Installation Wizard:https://xdebug.org/wizard]] ++download [[xdebug-2.9.8.tgz:http://xdebug.org/files/xdebug-2.9.8.tgz]] ++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画像から、レンズ情報を抜き出す方法 [#y0ae9f85] -[[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 ← コメントをはずし、内部エンコーディングを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 ← コメントをはずし、エンコーディングを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 ← コメントをはずし、Onに。 ; 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-release-6.rpm *** 旧PHPの削除 [#n58cbd56] yum remove php-* *** PHP5.6のインストール [#e8c9ff8e] sudo yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt *** php-mysql のインストール [#kbc12fc5] sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm sudo yum install phpMyAdmin *** そのたダメおしインストール [#e5934ac8] sudo yum install -y --enablerepo=epel libmcrypt libtidy sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-pear php-mbstring php-xml php-mcrypt php-gd php-pecl-xdebug php-opcache php-pecl-apcu php-fpm php-phpunit-PHPUnit php-mysqlnd *** 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へのインストール) [#i486992f] *** Apacheのインストール [#vdedc1eb] sudo yum install httpd *** mysqlのインストール(CentOS7) [#xf71daa1] -以下を参照 --[[mysql#o324665b]] *** php のインストール(CentOS7) [#yce37d55] sudo yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd sudo yum install --enablerepo=remi,remi-php70 php-mysqlnd *** mysql関連のソースコード変更 [#yfad7fcb] - 参考リンク(外部) : [[mysqlをmysqli(手続き型)に書き直した時のメモ:http://2-1b.com/2016/04/18/mysql%E3%82%92mysqli%EF%BC%88%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%EF%BC%89%E3%81%AB%E6%9B%B8%E3%81%8D%E7%9B%B4%E3%81%97%E3%81%9F%E6%99%82%E3%81%AE%E3%83%A1%E3%83%A2/]] - $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); -- -> $con = mysql&color(red){i};_connect($DBSERVER, $DBUSER, $DBPASSWORD); -- 「i」を付ける -$selectdb = mysql_select_db($DBNAME, $con); -- -> $selectdb = mysql&color(red){i};_select_db(&color(red){$con};, &color(red){$DBNAME};); -- 「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.com/bboobbaa/items/9fdca834076cb4c3389e]] -- group by する際, select で指定している項目は全て書かなければならない。 --- 以下はエラー select columnA, columnB, columnC, columnD from tableName group by columnA --- 以下へ修正 select columnA, columnB, columnC, columnD from tableName group by columnA, columnB, columnC, columnD *** その他 [#m8265fb3] - split は使えない -- explode へ変換 *** バージョン指定インストール(PHP) [#hb6cdd6b] sudo yum install --disablerepo=* --enablerepo=epel,remi-php74,remi,remi-safe php-common ** バージョンアップ(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/remi-release-6.rpm *** 旧PHPの削除 [#a759eea1] yum remove php* *** libwebp のインストール(したコマンドのエラー対策) [#g740a822] yum install libwebp --enablerepo=epel *** バージョンアップ・コマンド [#yb11c2d8] yum install --enablerepo=remi,remi-php71 php php-pdo php-mbstring php-common php-cli php-mysql php71-php-bcmath php-gd php-xml php-gd ** エラー表示 [#h0efac3b] *** リンク [#c04472b9] -[[PHPのエラー表示設定について(外部):https://qiita.com/shotets/items/3c95aef631b2c5eadae5]] *** 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 library './ext/php_exif.dll' - 指定されたモジュールが見つかりません。 [#v5b45087] +[[参考:http://php.adamharvey.name/manual/ja/install.windows.extensions.php]] |php_exif.dll|EXIF 関数&br;php_mbstring.dll。&br;php.ini で php_exif.dll は php_mbstring.dll の後で読み込まれる必要がある。| +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」+「Visual Studio Code(VS code)」でデバッグ環境(XDebug)を作る。 [#w29363d7] *** Apacheのダウンロードとインストール [#qd5edf0a] +以下のサイトからダウンロード -- [[Index of /dist/httpd/binaries/win32:https://archive.apache.org/dist/httpd/binaries/win32/]] -- 自分は以下 --- 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/current/platform/windows.html]] --以下は例 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/releases/]] -- 自分は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が付いてない=TS -- ダウンロードしたdllファイル(php_xdebug-2.1.2-5.2-vc6.dll)を以下のフォルダへコピー。 --- 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-vc6.dll +インストールされたか確認 -- 一応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 Technologies~ &color(red,){with Xdebug}; v2.1.2, Copyright (c) 2002-2011, by Derick Rethans --- &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_connect()」エラー [#eedb7f2a] -[Apache Service Monitor]から再起動してもApacheは再起動されない。 -- Windowsのサービスから再起動が必要 * java [#r746e3cd] ** servlet の 405 エラー [#xd1ac8a7] - doGet メソッドに super.doGet(req,resp); を含めてはいけない。 ** Subversion [#f35293d4] [[参考サイト(Linux-UbuntuでのSubversionのインストールと使い方):http://wisdomtrees.net/?p=271]] *** Install [#e585c65d] -Apache のインストール sudo apt-get install apache2 -Subversion のインストール sudo apt-get install subversion subversion-tools libapache2-svn *** 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 をインストールする。 [#a4eeae00] - Subversion client のインストール -- neon を例に取って進める。 -- [ヘルプ]-[Install new software] -[作業対象]に右のURLを入力[http://community.polarion.com/projects/subversive/download/eclipse/6.0/update-site/] -右を選択しインストール。Subversive SVNコネクター > SVNKit1.8.4実装(オプション) *** Android studio, Subversionの設定(中身なし) [#ib25e5b7] -[バージョン管理]-[Enable version control integration...] -[Subversion]を選択しOK -最初にチェックアウトを行う -- [バージョン管理] - [バージョン管理からのチェックアウト]-[Subversion] * UML図 [#o92cd006] ** シーケンス図(Sequence Diagram) [#pabb66fc] - 自動で書けるツールを色々と探してたが見つからなかった。~ ただし以下のソフトはとても良かったので紹介。 --[[PlantUML:http://plantuml.com/]] --[[Manual:http://plantuml.com/sequence-diagram]]