質問編集履歴
3
本質問が解決した際に使用したバージョン情報を追記しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
自宅サーバーcentOSにphp拡張モジュールPtr
|
1
|
+
自宅サーバーcentOSにphp拡張モジュールPtheradsを入れたところ、apacheのstatusが「httpd は停止していますがサブシステムがロックされています」となってしまいます。
|
test
CHANGED
@@ -475,3 +475,35 @@
|
|
475
475
|
|
476
476
|
|
477
477
|
```
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
# 本質問のベストアンサー結果を元に行った作業結果を報告
|
482
|
+
|
483
|
+
追記:2018/01/15 00:13
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
PHP拡張モジュールPtheradsを導入し、HelloWorldする事が出来ました。
|
488
|
+
|
489
|
+
使用したバージョン情報を残しておきます。
|
490
|
+
|
491
|
+
|
492
|
+
|
493
|
+
#### バージョン情報
|
494
|
+
|
495
|
+
■centOS6.8
|
496
|
+
|
497
|
+
■PHP7.2.0
|
498
|
+
|
499
|
+
→スレッドセーフ版(./configureオプションに--enable-maintainer-ztsをつける)
|
500
|
+
|
501
|
+
→非apacheのモジュール(./configureオプションの--with-apx2を外す)
|
502
|
+
|
503
|
+
■Pthreads拡張モジュール (Gitの最新版)
|
504
|
+
|
505
|
+
→https://github.com/SirSnyder/pthreads/archive/master.zip
|
506
|
+
|
507
|
+
|
508
|
+
|
509
|
+
以上、報告いたします。
|
2
回答いただいた内容を元に、「httpd.confのmodule読み込みパスを相対パスに変更した」作業内容を追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -335,3 +335,143 @@
|
|
335
335
|
# まとめ(お願い)
|
336
336
|
|
337
337
|
私は、次何に対してアプローチしていけばよいでしょうか。
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
# 確認内容を追記 (2018/01/11 08:53)
|
346
|
+
|
347
|
+
httpd.confのmodule読み込みパスを絶対パスから相対パスに変更を試しました。
|
348
|
+
|
349
|
+
結果は変わりませんでしたが、作業内容を確認して頂きたいため、メモさせて頂きます。
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
```
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
▼httpd.confのServerRootを確認
|
358
|
+
|
359
|
+
ServerRoot "/etc/httpd" //確認しました
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
▼ついでに、そのほかのmoduleがどのように記載されているか確認
|
364
|
+
|
365
|
+
/*前後省略*/
|
366
|
+
|
367
|
+
LoadModule proxy_connect_module modules/mod_proxy_connect.so //全て相対パスで記載されていました
|
368
|
+
|
369
|
+
LoadModule cache_module modules/mod_cache.so
|
370
|
+
|
371
|
+
LoadModule suexec_module modules/mod_suexec.so
|
372
|
+
|
373
|
+
/*前後省略*/
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
▼絶対パスから相対パスに変更
|
378
|
+
|
379
|
+
#LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so //元のパス
|
380
|
+
|
381
|
+
LoadModule php7_module modules/libphp7.so //相対パスに変更しました
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
▼なんとなくシンボリックリンクを確認
|
386
|
+
|
387
|
+
[root@localhost ~]# ls -l /etc/httpd | grep module
|
388
|
+
|
389
|
+
lrwxrwxrwx. 1 root root 29 1月 10 03:04 2018 modules -> ../../usr/lib64/httpd/modules //ServerRootと合わせると、正しいと判断しました
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
▼httpd.confの文法確認
|
394
|
+
|
395
|
+
[root@localhost conf]# apachectl configtest
|
396
|
+
|
397
|
+
Syntax OK
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
▼apache再起動
|
402
|
+
|
403
|
+
[root@localhost conf]# service httpd restart
|
404
|
+
|
405
|
+
httpd を停止中: [ OK ]
|
406
|
+
|
407
|
+
httpd を起動中: [ OK ]
|
408
|
+
|
409
|
+
▼ステータス確認
|
410
|
+
|
411
|
+
[root@localhost conf]# service httpd status
|
412
|
+
|
413
|
+
httpd は停止していますがサブシステムがロックされています //同じエラーが出ました
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
▼とりあえずサーバー再起動
|
418
|
+
|
419
|
+
# reboot
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
▼apache再起動
|
424
|
+
|
425
|
+
[root@localhost ~]# service httpd restart
|
426
|
+
|
427
|
+
httpd を停止中: [ OK ]
|
428
|
+
|
429
|
+
httpd を起動中: [ OK ]
|
430
|
+
|
431
|
+
[root@localhost ~]# service httpd status
|
432
|
+
|
433
|
+
httpd は停止していますがサブシステムがロックされています //エラーが出ました
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
▼エラーログ確認
|
440
|
+
|
441
|
+
[root@localhost ~]# tail -f /var/log/httpd/error_log
|
442
|
+
|
443
|
+
[Thu Jan 11 08:42:06 2018] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0 //httpd.conf変更前と相違はありませんでした
|
444
|
+
|
445
|
+
[Thu Jan 11 08:42:06 2018] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) //httpd.conf変更前と相違はありませんでした
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
▼ブラウザでphpinfo.phpにアクセス
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
このサイトにアクセスできません
|
454
|
+
|
455
|
+
**.***.***.**(私のGIP) で接続が拒否されました。 //httpd.conf変更前と相違はありませんでした
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
▼pidファイルが作成されたか確認
|
460
|
+
|
461
|
+
[root@localhost ~]# ls -l /var/run/httpd
|
462
|
+
|
463
|
+
合計 0 //作成されませんでした
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
▼(サーバー再起動により)httpd.confが元に戻っていないか 念のために確認しました
|
468
|
+
|
469
|
+
[root@localhost ~]# cat /etc/httpd/conf/httpd.conf | grep php7
|
470
|
+
|
471
|
+
#LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so
|
472
|
+
|
473
|
+
LoadModule php7_module modules/libphp7.so //ちゃんと相対パスのままでした
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
```
|
1
実現したい要件を追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,6 +14,32 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
+
# 実現したいこと
|
18
|
+
|
19
|
+
(追記: 20180111)
|
20
|
+
|
21
|
+
1. ブラウザにて「処理開始」のボタンを押す
|
22
|
+
|
23
|
+
2. 2つのAPIを叩き、それぞれの結果を加工してブラウザに返す。
|
24
|
+
|
25
|
+
という事を行いたいと考えております。
|
26
|
+
|
27
|
+
尚、出来るだけ早く結果を返したいため、2つのAPIを叩く処理を非同期で行いたいと考えております。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
備考:
|
32
|
+
|
33
|
+
初めは非同期を行うためにexec関数で子プロセスを立ち上げる方法を使用しておりましたが、
|
34
|
+
|
35
|
+
結果を親プロセスに返すのが少々手間がかかっておりました。
|
36
|
+
|
37
|
+
そこで、これらを気軽に実現できそうな「PHPで別スレッド扱えるPtreads」というphpモジュールを見つけた為、
|
38
|
+
|
39
|
+
ぜひとも使ってみたいという考えです。
|
40
|
+
|
41
|
+
|
42
|
+
|
17
43
|
# 作業前の自宅サーバーの内容
|
18
44
|
|
19
45
|
コンピュータ本体: hp
|