

**CentOSにyumでPHPをインストールしたと仮定**

・PHPプログラムを実行すると、どのファイルを見に行くのでしょうか？  
・バイナリファイル(usr/bin/php？)？  
・PHPの標準関数定義は、どのファイルで定義されているのでしょうか？  
・コンパイルされた状態で1つのファイルとして存在している？

* * *

**追記**  
・下記コマンド結果はどういう意味でしょうか？  
・[このリンク先](http://www.atmarkit.co.jp/flinux/rensai/linuxtips/163wherecomd.html)で掲載されているように、結果にaliasと表示されなければエイリアスではない？  
・あるいはaliasと明示されなくてもエイリアスの可能性はある？

[code]

    $ which -a php
    
[/code]

> /opt/remi/php70/root/usr/bin/php  
>  /usr/bin/php
[code]

    $ type -a php
    
[/code]

> php is /opt/remi/php70/root/usr/bin/php  
>  php is /usr/bin/php


CC BY-SA 3.0
2016-12-16T16:02:25.680
31190
2016-12-21T01:17:17.957
2016-12-21T01:17:17.957
7886
7886
question
php centos
PHPプログラムを実行すると、どのファイルを見に行くのでしょうか？ バイナリファイル？


**1), 2) への解答**  
PHPの配置場所は **whereis** コマンドで、知ることができます。  
私の環境だと

[code]

    [vagrant@local ~]$ whereis php
    php: /usr/bin/php /usr/lib64/php /etc/php.d /etc/php.ini /usr/include/php /usr/share/php /usr/share/man/man1/php.1.gz
    
[/code]

上記のようになっています。シンボリックリンクの可能性もありますが、/usr/bin/php, /usr/lib64/phpあたりにあると推測できます。

通常、/usr/binにパスが通っているので、phpの実行が可能となっています

**3), 4)**  
標準関数はビルトイン、つまりバイナリの中に定義されています。  
コード上の話であれば例えばですが、array系だと  
<https://github.com/php/php-
src/blob/6053987bc27e8dede37f437193a5cad448f99bce/ext/standard/php_array.h>  
上記で定義されています。


CC BY-SA 3.0
2016-12-19T07:20:02.217
31235
2016-12-19T07:20:02.217
18542
31190
answer