Articles of PHP的

我如何强制PHP使用iconv的libiconv版本而不是CentOS安装的glibc版本?

我正在使用的代码在Windows XP和Mac OS X上完美运行。在CentOS(以及Fedora和Ubuntu)上testing时,代码无法正常工作。 searchnetworking导致我得出的结论是,这是导致问题的iconv的glibc版本。 所以现在我需要为Zend Lucene的iconv的libiconv版本正常工作。 我已经下载了libiconv并使用–prefix=/usr/local makeconfiguration, make ,然后make install没有任何错误的情况下make install 。 它似乎是成功安装,因为执行/usr/local/bin/iconv –version说版本是libiconv 。 虽然简单的iconv –version仍然给glibc版本。 然后,我使用–with-iconv=/usr/local从源代码重新编译了PHP。 但是, phpinfo()仍然显示正在使用的iconv是glibc版本。 我也已经使用–with-iconv-dir或使用/usr/local/bin/php尝试了其他几个编译。 当然,我重新编译PHP后重新启动了Web服务器。 我在/etc/httpd/conf/httpd.conf有以下行: LoadModule /usr/lib/httpd/modules/libphp5.so 而libphp5.so实际上是在/usr/lib/httpd/modules 。 phpinfo()显示PHP 5.3.3。 我也yum删除了预先安装的PHP 5.1。*只是为了确保。 但iconv仍在使用glibc版本。 ldd /usr/lib/httpd/modules/libphp5.so给出 linux-gate.so.1 => (0x003b1000) /usr/local/lib/preloadable_libiconv.so (0x00110000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x001ed000) librt.so.1 => /lib/librt.so.1 (0x0021f000) libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15 (0x003b2000) libldap-2.3.so.0 => […]

如何找出共享主机是否运行32或64位 – 用PHP

使用PHP可以识别Linux 32或64位吗? phpinfo() 回报 Linux infong 2.4 #1 SMP Mon Oct 10 09:34:36 UTC 2011 i686 GNU/Linux 这是共享主机,所以我不能使用命令行。

在Linux上安装GD库和freetype

我正在尝试使用imagefttext。 我需要安装GD库和/或freetype。 我是新来的这种东西, 我怎样才能在Linux中安装GD库和freetype?

连接Doctrine 2到MSSQL SYMFONY 2在Linux上

我试图使用Doctrine 2(对于Symfony 2)从Linux机器连接到MSSQLServer。 我已经安装了pdo_dblib(FreeTDS / Sybase DB-lib的PDO驱动程序),并且可以通过命令行上的tsql和php cli连接到数据库服务器。 因此我知道这是行得通的。 在我的Symfony / app / config / parameters.ini文件中,我指定了database_driver =“pdo_sqlsrv”作为数据库驱动程序(因为我读过这个将由db_lib处理),但是当试图运行一个create database命令时(使用命令php app/console doctrine:database:create )我得到的错误: 无法创build数据库连接名称找不到驱动程序 然后,我将驱动程序更改为database_driver="pdo_dblib" ,现在我得到错误: [学说\ DBAL \ DBALException] 给定的'driver'pdo_dblib是未知的,Doctrine目前仅支持以下驱动程序:pdo_mysql,pdo_sqlite,pdo_pgsql,pdo_oci,oci8,ibm_db2,pdo_ibm,pdo_sqlsrv 所以,似乎连接到MSSQL我唯一的select是pdo_sqlsrv ,所以我去安装这个。 不过, 我刚刚在这里发现了那个 PDO_SQLSRV扩展只与在Windows上运行的PHP兼容。 因此,支持教条的驱动程序和那些可以在linux上使用的驱动程序似乎是相互独立的。 从search中我还没有发现这个问题到目前为止还没有被解决(一个人标志着问题已经解决了,但是当我读到这个线程的时候,他只是把他的开发环境变成了一个窗口框……不是我所拥有的心里!)。

适用于Linux的轻量级IDE

尽pipe我拥有一台function强大且速度很快的计算机(Pentium Dual Core 2.0 with 2Gb RAM),但我一直在寻找轻量级的软件,因此即使在许多应用程序同时运行的情况下,它也能快速运行。 在过去的几个星期里,我一直在迁移到Linux,并希望安装一个免费的轻量级但有用的IDE在C ++和PHP上编程。 Sintax突出显示和代码完成技巧是必备的。 所以,我想收到你们的一些build议,伙计们。

允许脚本读取文件,但阻止用户直接查看文件

比方说,我有一个纯文本文件example.txt ,我有一个PHP脚本在我的networking服务器readfile.php 。 我想要做的是防止用户inputhttp://www.example.com/example.txt并直接查看文本文件,但我仍然希望用户能够加载http://www.example.com/readfile.php ,它从文件http://www.example.com/readfile.php中读取数据并用它做一些事情(可能会显示文件的内容)。 另外,如果能做到这一点,最好的办法是什么?

如何启动/停止使用PHP的cronjob?

如果我在命令行键入crontab -l ,我可以看到下面一行: # * * * * * /usr/bin/php /home/user/every_minute_script.php 要启动这个cronjob,我需要使用crontab -e命令编辑文件,删除行首的注释字符,保存编辑后的文件,然后退出编辑器。 要停止这个cronjob,使用相同的步骤,但是在行首添加注释字符。 我想用PHP脚本实现完全相同的效果,而不是手动编辑文件。

用于Linux和PHP 5.4的MSSQL服务器的本地ODBC驱动程序

我在Linux Debian 6 x64上安装了Apache 2.2.16和PHP 5.4.3。 要为Linux安装MSSQL Server的本机ODBC驱动程序,请使用以下说明: http : //www.codesynthesis.com/~boris/blog/2011/12/02/microsoft-sql-server-odbc-driver-linux/ 我这样configuration我的odbc.ini文件: [mydsn] Driver = SQL Server Native Client 11.0 Database = datbase Server = xxx.xxx.xxx.xxx,port 和我的odbcinst.ini这样: [SQL Server Native Client 11.0] Description=Microsoft SQL Server ODBC Driver V1.0 for Linux Driver=/opt/microsoft/sqlncli/lib64/libsqlncli-11.0.so.1790.0 Threading=1 UsageCount=1 为了testing,我运行以下命令: $ isql -v mydsn dbusername dbpassword 我成功了: +—————————————+ | Connected! | […]

如何将表从一个mysql数据库复制到另一个mysql数据库

我需要将表从一个数据库复制到另一个。 这将是一个cronjob。 哪一个是最好的办法呢? PHP脚本或Shell脚本。 与PHP的问题,这两个数据库有不同的用户名和密码,所以我不能这样做。 CREATE TABLE db1.table1 SELECT * FROM db2.table1 我应该只是连接第一个数据库获取所有logging,并使用WHILE循环插入到新的数据库或有更好的办法吗? 我更喜欢使用shell脚本来代替PHP脚本。 谢谢

通过php“exec”挂载错误

我试图挂载一个iscsi虚拟磁盘,但是如果我通过php中的exec函数执行命令,给我这个错误: mount: special device /dev/sdf1 does not exist 。 但是,如果我直接在控制台中运行命令它运行良好! 我能做什么? 我很好地获得/dev/sdf1 ,它存在,但只能通过PHP不起作用。 谢谢 我使用sudo运行命令,并在控制台中运行它作为www-data用户总是与sudo ,所以,我想这是相同的环境。 sudo mount -t ext3 /dev/sdf1 /san_disks/RIBS_2 sudoers文件有这样几行: www-data ALL = (root) /usr/bin/iscsiadm, /bin/mount, /bin/umount %www-data ALL=NOPASSWD: ALL 它在控制台中工作。