因為目標板跟主機都是X86架構,正常來說,只要主機編譯通過並順利執行的程序,目標板應該也能順利,但這種不穩的方法,不妥當,於是決定還是為了心安,用交叉編譯工具來編譯程序
進入到php源代碼
CC=某某交叉編譯器 ./configure --prefix=/home/app/php --with-gd=/home/app/gd
gd我已經進行了交叉編譯,包含了jpeg,png,freetype等東西了,這里就略帶了
按照我上面的配置,產生了一個錯誤
configure: error: GD build test failed cross compile
提示說找不到GD組建,於是重新確定了一下路徑有沒錯,那當然是沒錯的啦
於是去除了交叉編譯器
./configure --prefix=/home/app/php --with-gd=/home/app/gd
這樣的配置,就能如常執行下去
最後實在沒辦法了,看一下配置日誌
vi config.log
發現以下信息
warning: libjpeg.so.62, needed by /home/app/gd/lib/libgd.so, not found (try using -rpath or -rpath-link)
庫問題,雖然編譯了jpeg但是,交叉編譯器不懂去找這些庫,好吧,好人做到底,
find -name libjpeg.so.62 找出庫,拷貝到gd的安裝目錄下的 lib 文件夾
⑵ 如何解決OS X系統中PHP不支持Freetype的問題
1、下載PHP 4.34 for os x ,下載後雙擊解壓並安裝。 2、下載MySQL 4.0.18發行版 ,解壓並安裝映像中的兩個安裝包文件。 mysql-standard-4.0.18.pkg-mysql4.0.18標准版安裝 MySQLStartupItem.pkg-mysql啟動項目,可以上你的電腦在啟動系統時自動運行mysql服務。它安裝在/Library/StartupItems/MySQL/,如果你不想系統啟動時運行mysql服務,請不要安裝。如果你在安裝後又不想使用,請刪除/Library/StartupItems/MySQL/這個目錄。 啟動mysql: 1、如果你已經安裝了MySQLStartupItem.pkg,重新啟動電腦即可。 2、如果你有安裝MySQLStartupItem.pkg或者不想啟動電腦,運行:應用程序-實用程序-終端程序,在終端中輸入命令: sudo /Library/StartupItems/MySQL/MySQL start 然後輸入你的系統管理員密碼,如果沒有設定密碼就直接回車。 關閉mysql服務: 終端中輸入命令: sudo /Library/StartupItems/MySQL/MySQL stop 然後輸入你的系統管理員密碼,如果沒有設定密碼就直接回車。 mysql root賬戶密碼: mysql root密碼初始值是空。這樣雖然沒有問題。但很不安全。建議你更改root用戶密碼。注意:mysql root用戶和系統中的root用戶是不一樣的。是完全兩個不同的用戶。 更改mysql root密碼請在終端中輸入命令: /usr/local/mysql/bin/mysqladmin -u root password 新密碼 同時你也可以隨時使用這條命令更改你的密碼。 3、下載x版mysql資料庫管理工具 這是一個運行在mac os x系統中的mysql資料庫管理軟體,支持本地及遠程資料庫管理。並且還是免費的。這個程序的優點是完全CGI界面。並且密碼是保存在本機上的。相對比較安全。缺點當然是全英文、並且只能運行在os x系統中,無需php安裝。 4、另外一個使用比較多的mysql管理工具是-phpmyadmin,請點這里下載 它同樣是免費程序,但使用方法不同,同時需要伺服器上運行php。優點是有多國語言界面,當然包括簡體,同時跨平台,在任何地方,只要有internet連接。你就能通過瀏覽器來登錄進行操作。 解壓phpMyAdmin-2.5.6.zip,把它放到你的網站目錄下。os x系統中你應該放到:Library-WebServer-Documents目錄下。建議你修改phpMyAdmin-2.5.6這個名字為一個其它名字。這樣比較安全。 用Textedit或者其它的文本編輯器打開phpMyAdmin-2.5.6-config.inc.php 查找 $cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address 該行下行還有很多參數都是你要連接的伺服器資料庫的參數。如果你並不太懂它們的含義,建議大家不要修改。因為我們是作本地連接。所以host這項並不修改,又或者你需要連接其它伺服器,請更改'localhost'為'主機域名'。 繼續找到以下第一個文本: $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed 如果你沒有設置過root賬號就什麼也不要動。如果你用終端設置過root密碼。請在第二行等號後面加上你的密碼。修改後應該是這個樣子。 $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = '密碼'; // MySQL password (only needed 注意:你可能並不止找到一個,這里因為我們只有本機一個,所以只修必了第一個找到的項目參數。如果你還需要連接其它mysql資料庫,可以再繼續修改。 打開系統預置-共享-個人WEB共享 打開瀏覽器。輸入地址:localhost/phpMyadmin-2.5.6/index.php 從右邊Language的下拉菜單中選擇 chinese simplified(zh),這時候的mysql資料庫當然是空的。 到些我們的php+mysql伺服器就架好了。到網上找些php的源代碼放到Library-WebServer-Documents目錄下。參照源代碼中的安裝說明進行安裝即可。 上傳的圖像
⑶ Mac 編譯安裝php7時提示「freetype-config not found」,怎麼解決
做一個鏈接咯
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
⑷ 如何解決OS X系統中PHP不支持Freetype的問題
解決OS X系統中PHP不支持Freetype的問題
為了方便顯示PHP的信息,寫了一個test.php頁面,頁面的代碼很簡單:
<?php phpinfo(); ?>
打開頁面後,發現當前的PHP版本是5.5,並且GD已經開啟,但是沒有Freetype庫。原來在OS X Yosemite 10.10自帶的PHP是沒有將Freetype編譯進去的。
不過我找了一個簡單的辦法,繼續看下去。
打開終端,輸入命令:
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
PS:大家可以直接訪問http://php-osx.liip.ch,雖然是英文,但是介紹是清晰的
安裝完後,重新打開test.php,PHP的版本已經變成5.6,並且Freetype都已經安裝。再打開項目,驗證碼能夠正常顯示了。
⑸ [100分]PHP 編譯時出現WARNING: unrecognized options
你那裡怎麼要加上逗號?
--with-ttf 後面指定一下字型檔路徑試試
--with-ttf=/usr/local/freetype/
⑹ php怎麼添加freetype支持
添加gd庫的支持。如果是win的話 打開gd拓展即可。如果是linux centos的話
yum install freetype freetype-devel
⑺ PHP編譯時需要同時支持gd jpeg freetype什麼意思
gd庫:一個圖片處理的php內置
既然你知道編譯php那麼什麼是依賴我就不說了,如果你不用php自帶的gd庫,那麼--without-gd
同樣的,如果你要編譯時帶了參數--with-gd那麼,就老老實實的裝jpeg,libpng和freetype吧
最好加上:
--enable-gd-native-ttf
這個參數,允許gd中使用自定義字體
⑻ 編譯PHP提示出錯找不到libc-client.無法編譯PHP怎麼辦
I. 安裝devel庫
yum install pam-devel libc-client libc-client-devel -y
如果使用了yum安裝了libc-client,那麼在以後編譯參數--with-imap=/usr/local/php-imap中的路徑應該刪除,即--with-imap。
如果這樣還不能解決,那麼就需要手動編譯imap2007f了!
II. 手動編譯imap2007f
腳本取自 forum.directadmin.com/showthread.php?t=45434
在/usr/src目錄下運行以下腳本,將會在/usr/local/php-imap目錄下生成imap需要的庫
#!/bin/sh
# Script for PHP-IMAP installation. 0.1b
# Written by Martynas Bendorius (smtalk)
CWD=`pwd`
OS=`uname`
#Is it a 64-bit OS?
B64=0
B64COUNT=`uname -m | grep -c 64`
if [ "$B64COUNT" -eq 1 ]; then
B64=1
LD_LIBRARY_PATH=/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
fi
if [ ! -e /usr/include/krb5.h ] && [ -e /etc/redhat-release ]; then
echo "Installing krb5-devel"
yum -y install krb5-devel
fi
VERSION=2007f
PROTOCOL=ftp
URL="${PROTOCOL}://ftp.cac.washington.e/imap/imap-${VERSION}.tar.Z"
FILENAME=imap-${VERSION}
TARBALL=${FILENAME}.tar.Z
echo "Downloading ${TARBALL}..."
wget -O ${TARBALL} ${URL}
tar xzf ${TARBALL}
cd ${FILENAME}
echo "Installing ${FILENAME}..."
if [ ${OS} = "FreeBSD" ]; then
if [ ${B64} -eq 0 ]; then
make bsf
else
make bsf EXTRACFLAGS=-fPIC
fi
else
perl -pi -e 's#SSLDIR=/usr/local/ssl#SSLDIR=/etc/pki/tls#' src/osdep/unix/Makefile
perl -pi -e 's#SSLINCLUDE=\$\(SSLDIR\)/include#SSLINCLUDE=/usr/include/openssl#' src/osdep/unix/Makefile
perl -pi -e 's#SSLLIB=\$\(SSLDIR\)/lib#SSLLIB=/usr/lib/openssl#' src/osdep/unix/Makefile
if [ ${B64} -eq 0 ]; then
make slx
else
make slx EXTRACFLAGS=-fPIC
fi
fi
echo "Copying files to /usr/local/php-imap"
mkdir -p /usr/local/php-imap/include
mkdir -p /usr/local/php-imap/lib
chmod -R 077 /usr/local/php-imap
cp -f c-client/*.h /usr/local/php-imap/include/
cp -f c-client/*.c /usr/local/php-imap/lib/
cp -f c-client/c-client.a /usr/local/php-imap/lib/libc-client.a
cd ..
rm -rf ${FILENAME}
if [ -d /usr/lib/x86_64-linux-gnu ] && [ ! -d /usr/kerberos/lib ]; then
mkdir -p /usr/kerberos
ln -s /usr/lib/x86_64-linux-gnu /usr/kerberos/lib
fi
exit 0;
III. 開始編譯
下面是編譯PHP的參數,如果出現問題,請參考編譯PHP5.6 和 PHP編譯錯誤的解決辦法。
./configure --prefix=/usr/local/php --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --enable-ftp --with-imap=/usr/local/php-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-fileinfo
IV. 其他問題
在本次編譯中,老高又遇到了幾個怪事
set --enable-opcache=no
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
這個問題還是庫文件的鏈接問題
解決:
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig -v
讓編譯的PHP支持memcache
⑼ php怎麼添加freetype支持
添加gd庫的支持。如果是win的話 打開gd拓展即可。如果是linux centos的話
yum install freetype freetype-devel這樣就可以,如果你對php有興趣的話,可以向我一樣在後盾人平台多看看自己學習學習,時間長了自己就慢慢明白了,希望能幫到你,給個採納吧謝謝♪~(´ε`)
⑽ 編譯PHP提示出錯找不到libc-client.無法編譯PHP怎麼辦
I. 安裝devel庫
yum install pam-devel libc-client libc-client-devel -y
如果使用了yum安裝了libc-client,那麼在以後編譯參數--with-imap=/usr/local/php-imap中的路徑應該刪除,即--with-imap。
如果這樣還不能解決,那麼就需要手動編譯imap2007f了!
II. 手動編譯imap2007f
腳本取自 http://forum.directadmin.com/showthread.php?t=45434
在/usr/src目錄下運行以下腳本,將會在/usr/local/php-imap目錄下生成imap需要的庫
#!/bin/sh
# Script for PHP-IMAP installation. 0.1b
# Written by Martynas Bendorius (smtalk)
CWD=`pwd`
OS=`uname`
#Is it a 64-bit OS?
B64=0
B64COUNT=`uname -m | grep -c 64`
if [ "$B64COUNT" -eq 1 ]; then
B64=1
LD_LIBRARY_PATH=/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
fi
if [ ! -e /usr/include/krb5.h ] && [ -e /etc/redhat-release ]; then
echo "Installing krb5-devel"
yum -y install krb5-devel
fi
VERSION=2007f
PROTOCOL=ftp
URL="${PROTOCOL}://ftp.cac.washington.e/imap/imap-${VERSION}.tar.Z"
FILENAME=imap-${VERSION}
TARBALL=${FILENAME}.tar.Z
echo "Downloading ${TARBALL}..."
wget -O ${TARBALL} ${URL}
tar xzf ${TARBALL}
cd ${FILENAME}
echo "Installing ${FILENAME}..."
if [ ${OS} = "FreeBSD" ]; then
if [ ${B64} -eq 0 ]; then
make bsf
else
make bsf EXTRACFLAGS=-fPIC
fi
else
perl -pi -e 's#SSLDIR=/usr/local/ssl#SSLDIR=/etc/pki/tls#' src/osdep/unix/Makefile
perl -pi -e 's#SSLINCLUDE=\$\(SSLDIR\)/include#SSLINCLUDE=/usr/include/openssl#' src/osdep/unix/Makefile
perl -pi -e 's#SSLLIB=\$\(SSLDIR\)/lib#SSLLIB=/usr/lib/openssl#' src/osdep/unix/Makefile
if [ ${B64} -eq 0 ]; then
make slx
else
make slx EXTRACFLAGS=-fPIC
fi
fi
echo "Copying files to /usr/local/php-imap"
mkdir -p /usr/local/php-imap/include
mkdir -p /usr/local/php-imap/lib
chmod -R 077 /usr/local/php-imap
cp -f c-client/*.h /usr/local/php-imap/include/
cp -f c-client/*.c /usr/local/php-imap/lib/
cp -f c-client/c-client.a /usr/local/php-imap/lib/libc-client.a
cd ..
rm -rf ${FILENAME}
if [ -d /usr/lib/x86_64-linux-gnu ] && [ ! -d /usr/kerberos/lib ]; then
mkdir -p /usr/kerberos
ln -s /usr/lib/x86_64-linux-gnu /usr/kerberos/lib
fi
exit 0;
III. 開始編譯
下面是編譯PHP的參數,如果出現問題,請參考編譯PHP5.6 和 PHP編譯錯誤的解決辦法。
./configure --prefix=/usr/local/php --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --enable-ftp --with-imap=/usr/local/php-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-fileinfo
IV. 其他問題
在本次編譯中,老高又遇到了幾個怪事
set --enable-opcache=no
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
這個問題還是庫文件的鏈接問題
解決:
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig -v
讓編譯的PHP支持memcache