#author("2024-11-23T06:21:05+00:00","default:hotate","hotate")
#author("2025-01-12T06:28:15+00:00","default:hotate","hotate")
#contents
&tag(PukiWiki,トラブル);

* [[トラブル]] [#z765bcca]
** 表示崩れ [#re46b70e]
- 症状:テキストは表示されるがデザインが崩れる。(2022/01/15)
- 原因:cssファイルの読み込みに失敗していた。
 $ curl -v http://bar.local/pukiwiki/skin/pukiwiki.css
 *   Trying ::1:80...
 * Connected to bar.local (::1) port 80 (#0)
 > GET /pukiwiki/skin/pukiwiki.css HTTP/1.1
 > Host: bar.local
 > User-Agent: curl/7.77.0
 > Accept: */*
 > 
 * Empty reply from server
 * Closing connection 0
- 調査:[[Apache]]のログを調査した。
 $ tail /private/var/log/apache2/error_log
 ...
 [Sat Jan 15 14:48:18.540036 2022] [authz_core:error] [pid 1874] [client fe80::d1:94a8:14f3:72b8:53219] AH01630: client denied by server configuration: /Library/WebServer/Documents/pukiwiki/skin/pukiwiki.css
- 対処;skinフォルダのアクセス権限を修正した。
 $ chmod 755 pukiwiki/skin
- 参考:[[Apache]]のログによれば多量のエラーが発生していた。これは[[PHP]]の問題か?(未調査。[[M1]]搭載Macのみで発生し、Intelでは発生しない)
 $ tail /private/var/log/apache2/error_log
 ...
 [Sat Jan 15 15:21:32.889296 2022] [core:notice] [pid 70677] AH00052: child pid 2878 exit signal Segmentation fault (11)

** 表示されない#1 [#e1f53b7d]
- 症状:ページが表示されない
- 原因:不明
- 対策:[[PHP]]@8.1を再インストールしたところ解消した。(2024/03/11)
 $ brew reinstall php@8.1 

** 表示されない#2 [#y26b306a]
- 症状:ページが表示されず、ファイル書き込みのエラーが表示される。症状としては下記と同じ。
-- [[pukiwikiで突然、pkwk_touch_fileのエラーが出た>https://www.xenos.jp/~zen/blog2/index.php/2020/06/07/post-3965/]]
 pkwk_touch_file(): Invalid UID and (not writable for the directory or not a flie): recent.dat
- 原因:ディスクの空き容量が足りず、ファイル生成(更新)に失敗した為。
- 対策:不要なファイルを削除したところ解消した。([[2024]]/11/23)
 $ sudo du -sh /var/log/*
 4.4G	/var/log/php-fpm
- 参考:[[EC2(Amazon Linux 2)でファイル容量がいっぱいの時に、ファイル容量の大きい順でディレクトリを表示する>https://zenn.dev/ryouzi/articles/0b32067db9533b]]
 以下のコマンドでどこのディレクトリの容量が大きいのかを調べます。
 du -sh /*

** 変数利用のワーニング [#mc82eeba]
- 症状:下記のワーニングがログファイルに多数出力される。
  PHP Notice:  Only variable references should be returned by reference in /var/www/html/pukiwiki-1.5.4/lib/convert_html.php on line 64'
- 原因:下記を参照。
-- [[PHPで「Only variables should be passed by reference....」エラー #PHP - Qiita>https://qiita.com/saekis/items/679bd681e4ccb18afb53]]
 array_pop()に限らず、PHPでは参照渡しを要求するメソッドに値を直接渡して呼び出すと、上記のようなエラーを吐く。ので、一旦渡す値を変数に格納する必要がある。
- 対策: PukiWiki 本家の更新待ち。(2025/01/12)


* 調査方法・確認ポイント [#b8429cc5]
** 内部処理 [#keed6365]
- 内部処理の流れは下記の説明が詳しい。
-- [[質問箱/4505 - PukiWiki-official>https://pukiwiki.osdn.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B1/4505]]
 まず入り口(index.php)となるファイルが呼び出されます。そこからLIB_DIR に設定されているディレクトリにあるpukiwiki.php が呼び出されます。
- [[pukiwikiファイル名逆変換ツール - インターネットIT技術Tips>http://xn--it-qp5di79k.com/%E3%83%84%E3%83%BC%E3%83%AB/pukiwiki%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E9%80%86%E5%A4%89%E6%8F%9B%E3%83%84%E3%83%BC%E3%83%AB]]
 wikiフォルダ中に生成されるpukiwikiサイトの記事ファイルから、対象となるページ名を確認するツールです。

** [[PHP]] [#p4ad5863]
- [[PHP]]の設定
-- [[もういい加減覚えよう。php.iniはどこにあるのか - Qiita>https://qiita.com/ritukiii/items/624eb475b85e28613a70]]
 コンソール上で実行して確認
 $ php -r "echo phpinfo();" | grep "php.ini"
- php-mbstringの追加インストール
- [[PHPでログをファイルに書き出すのはerror_log()が便利 | IT業務で使えるプログラミングテクニック>https://kekaku.addisteria.com/wp/20180604042553]]
 サーバーをapacheでブラウザ経由で実行したときはapacheのエラーログファイル(例:/var/log/httpd/error_log)に出力されました。

** PukiWiki[[ログ]] [#pccf22b9]
- [[FAQ/45 - PukiWiki-official>https://pukiwiki.osdn.jp/?FAQ/45]]
 - PHP7にバージョンアップの後、PukiWikiが表示されません。
 - PHP8にバージョンアップの後、PukiWikiが表示されません。
 - 画面が真っ白になって何も表示されません。
- [[Q&A/インストール - PukiWiki-official>https://pukiwiki.osdn.jp/?Q%EF%BC%86A/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#x80b2883]]
 index.php のerror_reporting でE_ALL を有効にする。
- [[PukiWikiでページが真っ白になる事案が発生 → 解決 - DIMENSION 2.00>https://esf.hateblo.jp/entry/2013/06/21/173407]]
 error_reporting(E_ALL); // Debug purpose
- [[Q&A/インストール - PukiWiki-official>https://pukiwiki.osdn.jp/?Q%EF%BC%86A/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#jae2cf51]]
 PHPでは、header出力の前に他の出力(例:エラー出力)をすると、以降のheaderの定義が無効になってしまいます。これにより、「headers already sent」エラー発生以降の実行や出力が中止される、HTTPヘッダーのLocationが動かない、などの問題が発生します。

* 関連 [#y723f456]
- [[PukiWiki]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS