質問編集履歴

3

本質問が解決した際に使用したバージョン情報を追記しました。

2018/01/14 15:32

投稿

ID_7UGzV8hCHGs5
ID_7UGzV8hCHGs5

スコア58

test CHANGED
@@ -1 +1 @@
1
- 自宅サーバーcentOSにphp拡張モジュールPtreadsを入れたところ、apacheのstatusが「httpd は停止していますがサブシステムがロックされています」となってしまいます。
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読み込みパスを相対パスに変更した」作業内容を追記しました。

2018/01/14 15:32

投稿

ID_7UGzV8hCHGs5
ID_7UGzV8hCHGs5

スコア58

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

実現したい要件を追記しました。

2018/01/11 00:07

投稿

ID_7UGzV8hCHGs5
ID_7UGzV8hCHGs5

スコア58

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