職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

pear::DBでデーターベースに接続するには

2017年01月21日 | pear
pear::DBでデーターベースに接続するには


【開発環境】
OS:Windows10
XAMPP v3.2.1→pear(ベア)インストール済み
PHP Version 5.5.15

【DSNのフォーマット】
データベースへ接続するための情報をDSN(データソース名)の形で指定する。
phptype(dbsyntax)://username:password@protocol+hostspec/database?option=value

例えば
・mysqliの場合
mysqli://username:password@protocol+hostspec(ローカル)/database
→mysqli://testuser:pass@localhost/database

・SQLiteの場合
sqlite://@protocol+hostspec/database
→sqlite:///d:¥sqlite¥testdb
→SQLite3では出来ないので注意が必用

【接続】
$dsn = 'mysqli://testuser:pass@localhost/testdb';

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}
【切断】
$db->disconnect();

【接続プログラム】
・sample.php→mysqlに接続する。なお、uriageデータベースは予め用意する
<html>
<meta charset="utf-8"/>
<head><title>PHP TEST</title></head>
<body>

<?php
require_once 'DB.php';

$dsn = 'mysqli://testuser:testuser@localhost/uriage';

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}

print('接続に成功しました');

$db->disconnect();

?>

</body>
</html>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

pear(ベア)コマンドの使い方

2017年01月13日 | PHP
pear(ベア)コマンドの使い方


【開発環境】
OS:Windows10
XAMPP v3.2.1→pear(ベア)インストール済み
PHP Version 5.5.15

基本的にXAMPPではpearコマンドが使える



【コマンドの使い方】

1)pearコマンドで使えるオプションを見てみる
>pear


2)現在インストールされているパッケージの一覧を確認
> pear list


3)PEARで提供しているパッケージ
>pear list-all
エラーがでたら
>pear update-channels pear.php.net←アップデート
>pear clear-cache←キャッシュをクリア
再度、コマンドを打つ
>pear list-all


4)パッケージのアップグレード
>list-upgrades
PEAR.PHP.NET AVAILABLE UPGRADES (STABLE):
=========================================
CHANNEL PACKAGE LOCAL REMOTE SIZE
pear.php.net Archive_Tar 1.3.11 (stable) 1.4.2 (stable) 21kB
pear.php.net Cache_Lite 1.7.15 (stable) 1.8.0 (stable) 33kB
pear.php.net Console_CommandLine 1.2.0 (stable) 1.2.2 (stable) 40kB
pear.php.net Console_Getopt 1.3.1 (stable) 1.4.1 (stable) 5.5kB
pear.php.net Console_Table 1.1.5 (stable) 1.3.0 (stable) 11.2kB
pear.php.net DB 1.7.14 (stable) 1.9.2 (stable) 129kB
pear.php.net DB_DataObject 1.11.2 (stable) 1.11.5 (stable) 81kB
pear.php.net File_Find 1.3.2 (stable) 1.3.3 (stable) 7.9kB
pear.php.net HTML_Table 1.8.3 (stable) 1.8.4 (stable) 16.1kB
pear.php.net HTTP_Request2 2.1.1 (stable) 2.3.0 (stable) 117kB
pear.php.net Log 1.12.7 (stable) 1.13.1 (stable) 46kB
pear.php.net Mail 1.2.0 (stable) 1.3.0 (stable) 23kB
pear.php.net Mail_Mime 1.8.7 (stable) 1.10.0 (stable) 35kB
pear.php.net Mail_mimeDecode 1.5.5 (stable) 1.5.6 (stable) 13.0kB
pear.php.net MIME_Type 1.3.1 (stable) 1.4.1 (stable) 21kB
pear.php.net Net_SMTP 1.6.1 (stable) 1.7.3 (stable) 14.6kB
pear.php.net Net_URL2 2.0.0 (stable) 2.2.1 (stable) 19.6kB
pear.php.net Pager 2.4.8 (stable) 2.4.9 (stable) 36kB
pear.php.net PEAR 1.9.4 (stable) 1.10.1 (stable) 285kB

PEARパケージを選んでアップグレードする
>pear upgrade PEAR
「failed to mkdir 、、、、、、」のエラー表示が出たら
>pear config-show
C:\Program Files\Microsoft Visual Studio 12.0>pear config-show
CONFIGURATION (CHANNEL PEAR.PHP.NET):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir C:\xampp\php
PEAR documentation directory doc_dir C:\xampp\php\pear\docs
PHP extension directory ext_dir C:\xampp\php\ext
PEAR directory php_dir C:\xampp\php\pear
PEAR Installer cache directory cache_dir C:\Users\hnaka\AppData\Local\Temp\pear\cache
PEAR configuration file cfg_dir C:\xampp\php\pear\cfg
directory
PEAR data directory data_dir C:\xampp\php\pear\data
PEAR Installer download download_dir C:\Users\hnaka\AppData\Local\Temp\pear\download
directory
Systems manpage files man_dir C:\php\local\man
directory
PEAR metadata directory metadata_dir <not set>
PHP CLI/CGI binary php_bin C:\xampp\php\.\php.exe
php.ini location php_ini <not set>
--program-prefix passed to php_prefix <not set>
PHP's ./configure
--program-suffix passed to php_suffix <not set>
PHP's ./configure
PEAR Installer temp directory temp_dir C:\Users\hnaka\AppData\Local\Temp\pear\temp
PEAR test directory test_dir C:xampp\php\pear\tests
PEAR www files directory www_dir C:xampp\php\pear\www
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 0
Debug Log Level verbose 1
PEAR password (for password <not set>
(省略)


間違ってる変数のディレクトリーパスをconfig-setで全部直す
例)
>pear config-set doc_dir c:\xampp\php\pear\docs
config-set succeeded
>pear config-set cfg_dir c:\xampp\php\pear\cfg
config-set succeeded

すべて直し終わったら
>pear upgrade PEAR する
アップグレードは無事完了しました。では「list」コマンドで確認して見るとバージョンが
>pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
(省略)
Mail_Mime 1.8.7 stable
Mail_mimeDecode 1.5.5 stable
Math_Basex 0.3 stable
Math_Finance 1.0.1 stable
Math_Numerical_RootFinding 1.0.0 stable
Net_DIME 1.0.2 stable
Net_SMTP 1.6.1 stable
Net_Socket 1.0.14 stable
Net_URL 1.0.15 stable
Net_URL2 2.0.0 stable
Numbers_Roman 1.0.2 stable
PEAR 1.10.1 stable--バージョン変わってる
PHPUnit 1.3.2 stable
>
参照サイト→PHPbook

5)パッケージのインストール
「Auth_HTTP」パッケージをインストール
>pear install Auth_HTTP
downloading Auth_HTTP-2.1.8.tgz ...
Starting to download Auth_HTTP-2.1.8.tgz (8,766 bytes)
.....done: 8,766 bytes
install ok: channel://pear.php.net/Auth_HTTP-2.1.8

6)パッケージのアンインストール(uninstall)
「Auth」パッケージをアンインストール
>pear uninstall Auth
pear/Auth (version >= 1.2.0) is required by installed package "pear/Auth_HTTP"
pear/Auth cannot be uninstalled, other installed packages depend on this package
このようにエラーとなる場合があります。これは「Auth」パッケージがインストールされている「Auth_HTTP」パッケージで必要とされているパッケージだからです。このような場合は先に「Auth_HTTP」パッケージをアンインストールしてから「Auth」パッケージをアンインストールするか、「-n」オプションを付けて実行します。
C:\Program Files\Microsoft Visual Studio 12.0>pear uninstall -n Auth
warning: pear/Auth (version >= 1.2.0) is required by installed package "pear/Auth_HTTP"
warning: pear/Auth should not be uninstalled, other installed packages depend on this package
uninstall ok: channel://pear.php.net/Auth-1.6.4

注意、xamppではpearをインストするのにgo-pear.pharをダウンロードして実行してもエラーをが出る
>pear upgradeコマンドで対応して下さい!

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

xammp+PEAR(ベア)について

2017年01月12日 | pear
XAMPPにPEAR(ベア)をインストールするには


【開発環境】
OS:Windows10
XAMPP v3.2.1
PHP Version 5.5.15

【PEARのインストール】
1.go-pearの取得
\hphにgo-pear.batが場合→http://pear.php.net/go-pear.phar を C:\php\PEAR\go-pear.pharに保存する。
保存する時は「ファイル」-「名前を付けて保存」を選び、拡張子は.pharにする

2.go-pearの実行
C:\php\PEAR>php go-pear.phar

3.実行エラー

これは既にPEAR(ベア)がインストールされている為、
足りないパッケージを追加するには「pear install ☓☓☓☓」

また、
「Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_pdo.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0」

「Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_sqlite.dll' - 指定されたモジュールが見つかりません。」
に対しては

【php.ini】ファイル
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;無効
;extension=php_pdo.dll←;を付ける
;extension=php_sqlite.dll←;を付ける
また、
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path=".;C:/xampp/php/PEAR;C:/xampp/php/PHPMailer;C:/xampp/smarty/libs;"
を確認!

参考サイト
XAMPPを使わずPEARインストールするにはPEAR入門を参照
XAMPP PEAR 追加する場合はとことんホームページ
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Smarty-phpのテンプレートエンジン

2017年01月09日 | PHP
Smarty-phpのテンプレートエンジン


・Smartyとは
PHPで利用できるテンプレートエンジンです。Smartyを使うことで画面デザインとプログラム部分を分けて開発することが容易となる。

【環境条件】
OS:win10
XAMPP v3.2.1
Eclipse(ルナ)

【ダウンロード】
Smartyのダウンロードは
http://www.smarty.net/から行います。

から3・1・30をクリックする

の上の(zip)をクリックするとダウンロードが始まる

ドキメントは上のようにする。

【インストール】
ダウンロードされたsmarty-3.1.30.zipをc:\xamppに展開する


c:\xampp\smarty-3.1.30フォルダが作成されたら、smarty-3.1.30フォルダをsmartyに変更する

※php.iniファイルの変更
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path=".;C:/xampp/php/PEAR;C:/xampp/php/PHPMailer;C:/xampp/smarty/libs;"
赤字をinclude_pathに追加する。

【Eclipseの設定】
・EclipseでSmartyのテンプレートファイル拡張子tplをhtmlファイルとして関連付ける

メニューバーから「ウィンドウ」→「設定」→「一般」→「コンテンツタイプ」→「テキスト」→「HTML」まで行くと下の「ファイルの関連付け」ボックスにHTMLに関連付ける拡張子の一覧が表示されるので、「追加」から「.tql」を関連付けてあげる。

・新規の作成

1)プロジェクSmartyを作成する

2)必用なフォルダを作成する

templates テンプレートファイル設置
templates_c コンパイルしたテンプレート設置
configs コンフィグファイル設置
cache キャッシュ
3)phpファイルを作成する

【index.php】
<?
require_once "Smarty.class.php";

/*
$path = getcwd();
$smarty->template_dir = "{$path}/templates";
$smarty->compile_dir = "{$path}/templates_c";
$smarty->config_dir = "{$path}/config";
$smarty->cache_dir = "{$path}/cacha";
*/
$smarty = new Smarty;
$smarty->assign('name', '桃太郎');
$smarty->display('index.tpl');
?>
以上
ただし、c\:xampp\htdocs\のルート上にある時は/*~*/のディレクトリ指定は省略出来る
4)templatesフォルダーにテンプレートファイルindex.tplを作成

【index.tpl】
{* index.tpl *}←tplのコメント
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>smartyのテスト</title>
</head>
<body>
ようこそ、{$name}さん<br />
HelloWorld!
</body>
</html>
5)フォルダやファイルの確認!

6)実行
この様に表示されればOK

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

phpでタイムゾーンを変更するには

2017年01月08日 | PHP
phpでタイムゾーンを変更するには


【Timeプログラム】
<?
echo date("Y/m/d H:i:s");
?>
上のTimeプログラムを実行してグリニッチを表示したら、タイムゾーンを修正しょう

■php.iniファイルの場合
default timezoneの設定
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"←この様にタイムゾーンを修正する。

; http://php.net/date.default-latitude
;date.default_latitude = 31.7667

設定が終わったらApacheを再起動します。

■php.ini を修正できない環境の場合
date_default_timezone_set('Asia/Tokyo'); とコードで書かなければ成らない。
<?
date_default_timezone_set('Asia/Tokyo');
echo date("Y/m/d H:i:s");
?>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする