相关疑难解决方法(0)

交叉编译PHP

我已经下载了PHP 5.4.0源代码,将其解压缩并移动到源文件夹中.

我做配置:

./configure --build=x86_64-unknown-linux-gnu --host=arm-linux-uclibcgnueabi --prefix=/usr/arm/www CC="arm-linux-uclibcgnueabi-gcc --sysroot=/toolchains/gnu_cortex-a9_tools/"  --disable-libxml --disable-dom  --without-iconv --without-openssl --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear --without-sqlite3 --disable-pdo --without-pdo-sqlite --disable-phar  --with-config-file-path=/etc/
Run Code Online (Sandbox Code Playgroud)

其次是

make
Run Code Online (Sandbox Code Playgroud)

没有错误,一切都运行良好.接下来我做一个make install.

make install
Run Code Online (Sandbox Code Playgroud)

一切都运行良好.我将它移动到目标平台并运行

/usr/arm/www/bin/php -v
PHP 5.4.0 (cli) (built: Aug 15 2012 16:07:41) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

我用我的网络服务器和php直接测试一个简单的主页.

<?php echo "hello" ?>
# php index.php
hello
Run Code Online (Sandbox Code Playgroud)

它按预期工作.接下来我测试:

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>
Run Code Online (Sandbox Code Playgroud)

哦,不!

# php shell.php 

Segmentation fault
Run Code Online (Sandbox Code Playgroud)

我设定了另一个脚本:

#!/bin/php …
Run Code Online (Sandbox Code Playgroud)

php linux embedded cross-compiling

14
推荐指数
0
解决办法
3303
查看次数

标签 统计

cross-compiling ×1

embedded ×1

linux ×1

php ×1