37466


**従来の環境**  
・CentOS6  
・apache2.2  
・PHP7.1  
・「/etc/httpd/conf.d/php70-php.conf」でPHP指定している

[code]

    $ cd /usr/lib64/httpd/modules
    $ ls -la
    lrwxrwxrwx 1 root root      55  8月 24 09:02 2017 libphp70.so -> 
    /opt/remi/php70/root/usr/lib64/httpd/modules/libphp7.so
    
    $ cd /opt/remi/php70/root/usr/lib64/httpd/modules/    
    $ ls -la   
    -rwxr-xr-x 1 root root 4541392  8月  2 21:13 2017 libphp7.so
    
[/code]

* * *

**試していること**  
・「CentOS Software Collections」経由で「Apache2.4」をインストール

「/opt/rh/httpd24/root/etc/httpd/conf/httpd.conf」  
・modules/libphp7.soで指定しても読み込まれないので、フルパスで指定するもエラー

[code]

    #LoadModule php7_module modules/libphp7.so
    #LoadModule php7_module /etc/httpd/modules/libphp7.so
    LoadModule php7_module /opt/remi/php70/root/usr/lib64/httpd/modules/libphp7.so
    PHPIniDir conf/extra
    <FilesMatch "\.(php|php7|phtml)$">
      SetHandler application/x-httpd-php
    </FilesMatch>
    
[/code]

* * *
[code]

    # sudo /etc/rc.d/init.d/httpd24-httpd start
    httpd を起動中: httpd: Syntax error on line 372 of /opt/rh/httpd24/root/etc/httpd/conf/httpd.conf:
    Cannot load /etc/httpd/modules/libphp7.so into server:
    /etc/httpd/modules/libphp7.so: undefined symbol: unixd_config
    
[/code]

* * *

**Q1.**  
・httpd.confでのモジュール読込はフルパス指定不可？

**Q2.**  
・「undefined symbol: unixd_config」って何ですか？

[関連](https://ja.stackoverflow.com/questions/37428/apache2-4%E3%81%A7php%E5%8B%95%E4%BD%9C%E3%81%95%E3%81%9B%E3%82%8B%E9%9A%9B-php-
fpm%E3%81%AF%E5%BF%85%E9%A0%88)

* * *

**追記**

「/opt/remi/php70/enable」

[code]

    export PATH=/opt/remi/php70/root/usr/bin:/opt/remi/php70/root/usr/sbin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/opt/remi/php70/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    export MANPATH=/opt/remi/php70/root/usr/share/man:${MANPATH}
    
[/code]


CC BY-SA 3.0
2017-08-24T12:15:19.570
37464
2017-08-24T23:56:04.190
2017-08-24T14:29:15.260
7886
7886
question
php centos apache
「CentOS6」と「apache2.4」の組み合わせでPHPソースコードが表示される


PHP は remi-php70 から入れたようですが、  
その libphp7.so が参照するライブラリの場所を httpd24 に知らせる必要があります。  
/opt/remi/php70/enable  
というファイルがあると思うので、その内容を  
/opt/rh/httpd24/root/etc/sysconfig/httpd  
に書いてから  
sudo /etc/rc.d/init.d/httpd24-httpd start  
を再実行してみてください。

**Edit 1:** unixd_config は suzukis さんがいうように Apache 2.2 のものでした。ですので、そのPHPのビルドでは
Apache 2.4 とはうごかせないようです。


CC BY-SA 3.0
2017-08-24T13:34:41.030
37466
2017-08-24T23:56:04.190
2017-08-24T23:56:04.190
292
292
37464
answer