【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
class MyClass { private $width; public function __construct(){ 中身 } public function __destruct(){ 中身 } public function get_width(){return $this->width;} //@ } ちょっと色々と省略していますが、このthisはいったい何を意味しているのでしょうか? というよりも、@の部分はwidthプロパティを取得しているとの事らしいのですが、 $this->widthの部分が何をしているのかが分かりません すみませんが教えていただきたく質問させてもらいました
//$tihsは自分自身。 $foo=mew MyClass(); $foo->get_width(); //ならget_width()の$thisは$fooだし $boo=mew MyClass(); $boo->get_width(); //なら$boo。
いや公式マニュアル使えよ
PHPで、関数呼び出しをトレースする機能はありますか。 あるアプリケーションをメンテナンスすることになったのですが、動作がわからず困ってます。 せめて ・どのファイルが読み込まれたのか ・どの関数が呼び出されたのか を知ることができたらと思い、質問させていただきました。 よろしくお願いします。
>>959 backtraceはちょっと求めるものとは違いました。
debug_backtrace()を使うには、すでに呼び出されることがわかっているコードの中で呼び出す必要がありますが、
どのコードが呼び出されるのかまるでわかってない場合には使いづらいです。
Xdebugについては知りませんでしたので、調べてみます。
ありがとうございました。
calltreeが欲しいのかな?
gtags やまともなエディタだったりして
<?php $to='メールアドレス@hotmail.co.jp'; $subject='テストメール'; $body='こんにちは、世界!'; if(mb_send_mail($to,$subject,$body)){ print('メール送信に成功しました。');} else {print('メール送信に失敗しました。'); } ?> と書いたら、Fatal error: Call to undefined function mb_send_mail() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\samples\chap4\sendmail.php on line 5 と出てきました php.iniの設定もSMTP、sendmail_fromともにちゃんと設定したつもりなのですが、何故メールを送れず構文エラーが出るのでしょうか? ちなみにこの構文は参考書のコピーなのですが
mb_string.dllをロードしてないんじゃ?
php_mbstring.dllだった
>>964 php.iniのextension=php_mbstring.dllの事でしょうか?
もしそれならばちゃんと設定してあります
その環境で、mb_系の関数動くか、簡単に試してみよう
>>963 phpinfoにmbstringが有効になってるか確認してください
971 :
970 :2009/09/10(木) 15:46:49 ID:???
あっ、バージョンはphp-5.2.10-Win32.zipとapache_2.2.13-win32-x86-openssl-0.9.8k.msiの組み合わせです
972 :
969 :2009/09/10(木) 15:47:41 ID:???
なぜスルーされたんだ・・・
973 :
970 :2009/09/10(木) 15:51:06 ID:???
>>972 さん
あっ、ごめんなさい今確認しているところです・・・すみません
974 :
970 :2009/09/10(木) 15:56:42 ID:???
すみません、phpinfoで確認してみたのですが、mbstringの欄が見当たりません F4機能でも文字検索してみたのですが、ありませんでした・・・orz
975 :
970 :2009/09/10(木) 16:38:53 ID:???
その後、ネットで検索して問題解決に努めたのですが、 Configure Command で cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" "--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared" と書いていて、mb_stringは入っていないようでした で、色々と実験してみたのですが、やっぱり解決しませんでした この場合どのようにすればいいのでしょうか? 一度アンインストールとかして最初からした方がいいのでしょうか?
--enable-mbstringでビルドすればいいじゃない
977 :
970 :2009/09/10(木) 17:08:16 ID:???
>>977 コンパイル済みのバイナリじゃなくて自分でコンパイルしなさいよってことじゃないかと
979 :
970 :2009/09/10(木) 17:47:15 ID:???
>>978 さん
PHPは筆記で今までやってきてそこそこ出来るようになったのですが、こういう設定の方はまだまだサッパリの初心者です
http://www.aconus.com/~oyaji/www/apache_linux_php.htm こういうサイトを見つけたのですが、僕の問題の場合、Apacheの設定をしなければならないのでしょうか?
自分で--enable-mbstringを入れると言っても、いったい何のどこに加えればいいのかが分かりません
そもそも、このcongirureというものが良く分かりません
上記のサイトのPHPをインストールって箇所の黒い枠の部分に辿り着く方法がそもそも分からないのです
>>979 windows環境でしょ?linuxの解説みて混乱しないでね。
phpのインストールはどこにした?
php.iniのextension_dirにphp_mbstring.dllある?
984 :
970 :2009/09/10(木) 18:15:14 ID:???
>>981 さん
あ、linuxでしたね、すみませんw
php_mbstring.dllはありますし、
php.iniの設定で、extension=php_mbstring.dllとしていますし、
extension_dirの指定ファイル先に、php_mbstring.dlというものがありますl
985 :
970 :2009/09/10(木) 18:16:41 ID:???
>>982 さん
やっぱ再インストールですかね?
再インストールの場合は、PHP、Apache、どちらを再インストールすればいいのでしょうか?
>>983 さん
そのスレは見て、それと参考書を加えた設定でやりました
読み込んでるphp.iniが違うんじゃないの?
987 :
nobodyさん :2009/09/10(木) 21:22:39 ID:Wu0Ynk2e
処理がタイムアウトした場合に次の処理に移動する方法がわからないよーー set_time_limit();だと処理に時間掛かりすぎるから 30秒待ったら次の処理に行きたいんだけど 無理なのかーー
989 :
970 :2009/09/10(木) 22:23:35 ID:???
おまいさんwindowsじゃなかったのけ?
991 :
970 :2009/09/10(木) 22:31:32 ID:???
>>990 Windows XPです
コレはphp.iniとかの問題じゃなく、自分のパソコンのOSの問題とかあるのでしょうか?
mbstring を使用する方法 a. 静的ライブラリとして組み込む方法 b. 共有ライブラリとして使用する方法 c. Windows 環境の場合 って書いてあるじゃないか・・・
>>991 phpはzip解凍するだけ
apacheはmsiでインストール
あとはphh.iniとhttpd.confを確認するだけで平気なはずだが・・・
>>986 でも書かれてるように、読み込んでいるphp.iniが違うというのはないのか?
windowsは最近はインストーラの方向にシフトしてくみたいだけどね
995 :
970 :2009/09/10(木) 22:35:48 ID:???
>>992 では、a.とb.はLinuxなどの別のOS用のやり方なのでしょうか?
で、c.のやり方・・・
c. Windows 環境の場合
ダウンロードした PHP のパッケージの中に、php_mbstring.dll が含まれています。
php.ini で extension_dir と extension を設定します。
extension_dir = "C:/php/ext"
extension=php_mbstring.dll
ですけれど、それは既に何度も確認しています
997 :
970 :2009/09/10(木) 22:37:50 ID:???
>>993 mb_string以外は .phpファイルは出来るのですが、mb_stringだけ出来ません
一応もう一度読み込むphp.iniを確認してみます
998 :
970 :2009/09/10(木) 22:42:12 ID:???
doc_root="C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" extension_dir = "C:/php/ext" はファイル先は合っていますし、 extension=php_mbstring.dll もコメントは抜けています でも出来ません・・・
phpinfoで確認するんだよ
このスレは1000の風になりました
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。