Friday, October 7, 2011

How To Install PHP on IIS 6.0

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

Note:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Example #1 CGI and FastCGI settings in php.ini

fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

Download and install the » Microsoft FastCGI Extension for IIS 5.1 and 6.0. The extension is available for 32-bit and 64-bit platforms - select the right download package for your platform.

Configure the FastCGI extension to handle PHP-specific requests by running the command shown below. Replace the value of the "-path" parameter with the absolute file path to the php-cgi.exe file.

Example #2 Configuring FastCGI extension to handle PHP requests

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^ -extension:php -path:"C:\PHP\php-cgi.exe" 

This command will create an IIS script mapping for *.php file extension, which will result in all URLs that end with .php being handled by FastCGI extension. Also, it will configure FastCGI extension to use the executable php-cgi.exe to process the PHP requests.

Check in the C:\WINDOWS\system32\inetsrv\fcgiext.ini file the next text is present or paste into it:

[Types]
php=c:\php\php-cgi.exe

[c:\php\php-cgi.exe]
QueueLength=999
MaxInstances=20
InstanceMaxRequests=10000
IdleTimeout=90
RequestTimeout=90

To create a script map for the FastCGI handler on IIS 6.0 and IIS 5.1:
  1. Open IIS Manager.
  2. Double-click the machine icon for the local computer.
  3. Right-click Web Sites and then click Properties.
  4. Click the Home Directory tab.
  5. Click the Configuration… button.
  6. Click the Add… button.
  7. Browse to %WINDIR%\system32\inetsrv\ and select fcgiext.dll as the executable file.
    Note: If you are using a 64-bit platform in WOW mode, you must use the fcgiext.dll file that is located in the %WINDIR%\SysWOW64\inetsrv path.
  8. In the Extension text box, enter .php (or another extension that is specific to your FastCGI application).
  9. Under Verbs, in the Limit to text box, enter GET,HEAD,POST.
  10. Select the Script engine and Verify that file exists check boxes.
  11. Click OK.

Set index.php as a default document in IIS

The IIS default documents are used for HTTP requests that do not specify a document name. With PHP applications, index.php usually acts as a default document. To add index.php to the list of IIS default documents, follow these steps:

  1. In the Windows Start Menu choose "Run:", type "inetmgr" and click "Ok";

  2. Right-click on the "Web Sites" node in the tree view and select "Properties";

  3. Click the "Documents" tab;

  4. Click the "Add..." button and enter "index.php" for the "Default content page:"


    Reference:

    http://learn.iis.net

    php.net

How to switch between Activities

In my great expectations of Google Android coming to Canada on June 2nd, I’ve started experimenting with developing some apps for the Android platform. My first app is called “The Taxman” and will calculate the amount of tax you owe per year in your province/state – well only Canada for now.


I had trouble adjusting to what an “Activity” was and how to handle it. Here is a quick and dirty way to create an Activity, and to switch to another Activity (think of it as another screen) on the click of a button.


1. Create a new Android project – or you might already have one created.


01 new project


2. Add a new Class that extends android.app.Activity. You need a total of two classes that extend Activity. You will switch from one Activity to another.


02 new class


03 new class 2



3. Now, we’ll create two XML files to store the layout of each Activity. Under the res/layouts directory create a copy of main.xml


04 xml files


4. Each XML file will contain 1 button. On the click of the button, the Activities will switch.


main.xml will contain:


<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#ffffff" >
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textColor="#000000"
android:text="This is Activity 1" />

<Button android:text="Next" android:id="@+id/Button01"
android:layout_width="250px" android:textSize="18px"
android:layout_height="55px">

</Button>
</LinearLayout>

main2.xml will contain:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#ffffff" >
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textColor="#000000"
android:text="This is Activity 2" />

<Button android:text="Previous" android:id="@+id/Button02"
android:layout_width="250px" android:textSize="18px"
android:layout_height="55px">
</Button>
</LinearLayout>

So each Activity will have a text that says “This is Activity x” and a button to switch the Activity.


5. Add the second Activity to the main manifest file. Open AndroidManifest.xml and add:


        <activity android:name=".Activity2"></activity>

The final result will look similar to this:


<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.warriorpoint.taxman2"
android:versionCode="1"
android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activity1" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity2">
</activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>

If you forget to do this, then the you will get a Null Pointer exception because “Activity2” will not be found at runtime. It took me some time to find out how to find what Exception was getting thrown as well. I will include how to debug and look at Exceptions in another future post.


5. Open Activity1.java and enter the following code:


package com.warriorpoint.taxman2; 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Activity1 extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button next = (Button) findViewById(R.id.Button01);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent = new Intent(view.getContext(), Activity2.class);
startActivityForResult(myIntent, 0);
}
});
}
}

Here’s a quick explanation of what this does:


- setContentView(R.layout.main) makes sure that main.xml is used as the layout for this Activity.


- Gets a reference to the button with ID Button01 on the layout using (Button) findViewById(R.id.Button01).


- Create san OnClick listener for the button – a quick and dirty way.


- And the most important part, creates an “Intent” to start another Activity. The intent needs two parameters: a context and the name of the Activity that we want to start (Activity2.class)


- Finally, the Activity is started with a code of “0”. The “0” is your own code for whatever you want it to mean. Activity2 will get a chance to read this code and use it. startActivityForResult means that Activity1 can expect info back from Activity2. The result from Activity2 will be gathered in a separate method which I will not include here.


6. Open Activity2.java and enter the code below:


package com.warriorpoint.taxman2; 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Activity2 extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Button next = (Button) findViewById(R.id.Button02);

next.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}

This code does the following:


- Sets main2 as the layout for this Activity


- Gets a reference to Button02 and creates an OnClick listener


- In the OnClick listener, the Activity finishes with finish(). setResult() returns information back to Activity 1. In this example, it returns no information; and Activity1 doesn’t even have the listener to receive this information anyway.


That’s it! Run it!


05 run


The app will load in Activity 1:


06 activity 1


When you click the button you will see Activity 2. There are no animations, no tweens, etc, so the screen will just “change”. I’ll talk about animations in future posts.


07 activity 2


And clicking on the button “Previous” here will go back to Activity1.


Still to come:


1. How to create animations when switching screens.


2. How to switch using a dragging motion of your finger.


3. How to see a log of the exceptions that your app throws

http://www.warriorpoint.com

Friday, September 16, 2011

Câu chuyện Rocky

Năm 1974 Sylvester Stallone, một diễn viên và nhà viết kịch bản phim, nản chí và bần cùng. Trong lúc ngồi xem một trậng đấu quyền Anh, anh bỗng bắt được cảm hứng bởi một tay quyền Anh “tầm thường”, một người không thể so sánh gì được với Mohammed Ali vĩ đại. Thế là anh chạy bổ về nhà và trong một cơn bộc phát cảm hứng kéo dài 3 ngày đã cho ra đời bản nháp đầu tiên của kịch bản mang tên Rocky.

Khi trong túi chỉ còn 106USD cuối cùng của mình, Stallone nộp kịch bản cho đại lý của anh. Một trường quay đề nghị 20.000USD với điều kiện để diễn viên Ryan O’Neal hay Burt Reynolds đóng vai chính. Dù phấn khích bởi lời đề nghị này nhưng Stallone muốn tự mình đóng vai chính. Anh đề nghị diễn không tính tiền và người ta đã bảo anh rằng, “Đó không phải là cách hiệu quả tại Hollywood.” Stallone từ chối lời đề nghị dù anh hết sức cần tiền.
Sau đó họ đề nghị anh 80.000USD với điều kiện là anh sẽ không đóng vai chính. Anh lại từ chối lần nữa.

Họ nói với anh rằng họ muốn Robert Redford đóng vai chính, và sẽ trả cho anh 200.000USD. Một lần nữa Stallone lại từ chối.

Họ tăng giá lên 300.000USD cho kịch bản của anh. Anh bảo họ rằng anh không muốn trải qua suốt cuộc đời mình cứ thắc mắc với việc “Nếu mà?”

Họ trả cho anh 330.000USD. Anh bảo họ rằng anh thà không thấy bộ phim được thực hiện hơn là anh không thể đóng vai chính.

Cuối cùng họ đồng ý để anh đóng vai chính. Anh được trả 20.000USD cho tiền kịch bản cộng với 340USD mỗi tuần, mức lương tối thiểu của một diễn viên. Sau khi trừ đi các chi phí, phí đại lý, thuế, anh chỉ thu được thực tế 6000USD thay vì 330.000USD.

Năm 1976 Stallone được đề cử giải thưởng Hàn lâm cho Nam diễn viên xuất sắc nhất. Bộ phim Rocky đã giành được ba giải Oscar: Hình ảnh đẹp nhất, đạo diễn xuất sắc nhất, và kịch bản phim hay nhất. Loạt phim Rocky từ đó đã kiếm được cả thảy gần 1 tỉ USD, đưa Sylvester Stallone thành diễn viên điện ảnh quốc tế.

Hãy đi theo khí phách của Stallone. Hãy gắn chặt với những khẩu súng của mình.
giaunhanh.com

Nguyên nhân khiến bạn nghèo

Xin tóm tắt dưới đây những kiến thức cần thiết trên con đường tìm kiếm sự tự do về tài chính được đăng tải đến nay:
a) Theo Robert T. Kiyosaki và Sharon L. Lechter tác giả của 2 cuốn sách “Dạy con làm giàu ” và “Cha giàu cha nghèo” có thể chia nhân loại thành bốn loại người theo phương thức kiếm tiền của họ (Kim Tứ Đồ): Những người làm công ăn lương (L); Nhóm người làm tư (T); Nhóm Chủ doanh nghiệp, công ty (C); Nhóm Nhà đầu tư (Đ) trong đó Nhóm những người làm công ăn lương là những người ưa thích sự an toàn, ổn định, ngại mạo hiểm, không thích rủi ro nhất là trong vấn đề tiền bạc; Nhóm làm tư (T) thường là những người giỏi nghề và coi trọng sự tự do của cá nhân, thích được tự mình định đoạt công việc và cuộc sống cá nhân. Họ là người làm chủ một công việc và thường chỉ tin vào bản thân hơn là tin vào người khác; Nhóm Chủ doanh nghiệp (C) là những người có khả năng lãnh đạo người khác, thích phân chia công việc, thích mướn những người giỏi hơn làm việc cho mình. Nhóm người này làm chủ một hệ thống, một quy trình kinh doanh chứ không làm chủ một công việc; Nhóm các Nhà đầu tư (Đ) là những người làm ra tiền bằng tiền. Robert T. Kiyosaki và Sharon L. Lechter cũng cho rằng nếu bạn muốn trở thành người giàu có, bất kể bạn đang kiếm tiền từ nhóm nào bạn phải tìm cách trở thành Nhà đầu tư;
b) Bí quyết thành công của những người giàu không nằm ở chỗ họ thuần tuý gặp may hay thuận lợi hơn bạn nhờ được thừa kế một gia tài kếch sù …mà chính là do họ luôn mơ ước, luôn khát khao, luôn hành động vươn tới để làm giàu, để có sự tự do về tài chính;
c) Theo người giàu, Tài sản là bất cứ cái gì mang lại lợi nhuận, làm tăng thu nhập còn Tiêu sản là bất cứ cái gì không sinh ra lợi nhuận, làm giảm thu nhập. Chính vì thế người giàu luôn luôn cố gắng mua Tài sản và giảm thiểu Tiêu sản còn người nghèo và trung lưu thì ngược lại luôn luôn mua Tiêu sản mà tưởng nhầm đó là Tài sản. Kết quả là người giàu ngày càng giàu hơn còn người nghèo ngày càng nghèo đi; Muốn cải thiện tình hình tài chính, bạn phải giảm thiểu việc mua Tiêu sản và cố gắng tối đa mua Tài sản;
d) Thói quen bầy đàn của người nghèo và trung lưu là một thói quen tiêu tốn rất nhiều thời gian, tiền bạc và sức lực của nhân loại. Thói quen này làm cho bạn và những thế hệ mai sau của bạn không bao giờ thuộc hàng ngũ người giàu mà bạn và con cháu của bạn, chút chít của bạn chỉ có thể nằm trong số 95% người nghèo và trung lưu của nhân loại mà thôi;
e) Người giàu hành động bao giờ cũng có mục tiêu. Những người giàu hoặc muốn trở nên giàu không bao giờ hành động theo cảm tính, không a dua theo bầy. Họ biết cách chia mục tiêu của họ ra thành những mục tiêu nhỏ hơn, khả thi và thực hiện nó bền bỉ ngày này qua ngày khác như con ong chăm chỉ hút từng hạt phấn hoa nhỏ li ti để đến một ngày kia cho đời một chõ mật ong to ngọt lịm và vàng óng. Trong khi đó người nghèo thường đặt ra những mục tiêu to tát lúc đầu nhưng sau đó lại thực hiện theo kiểu “Đầu voi đuôi chuột”;
f) Người nghèo với mong muốn một mai được mở mặt với đời thường sống theo kiểu “Hy sinh đời bố củng cố đời con” . Nhưng kết quả thật buồn rầu vì những gì hôm nay bạn không muốn làm thì đường kỳ vọng rằng con cháu bạn sẽ làm điều đó trong tương lai. Và thật nghịch lý là cái cách sống vô tư “Đời cua, cua máy; Đời cáy, cáy đào” xem ra lại hợp với quy luật chọn lọc của tự nhiên, hợp với tạo hoá hơn, mặc dù vậy sống như vậy cũng không phải là cách sống tốt nhất, cách sống có trách nhiệm nhất;
g) Hãy sống với hiện tại! Hãy sống với từng giây, từng phút của ngày hôm nay! Hãy sống vì vì sự hoàn thiện của chính mình chứ đừng sống vì cái gì xa vời ở đâu đó! Hãy bắt đầu cuộc cách mạng với chính bản thân để làm nền móng vững chắc cho cái lâu đài nguy nga, tráng lệ mà ta muốn các thế hệ mai sau dựng nên. Đấy là lối sống văn hoá nhất và có trách nhiệm nhất. Sống trong một môi trường thấm đẫm khát khao vươn tới, trong một gia đình mà bố mẹ thật sự năng động, sáng tạo, độc lập, quyết đoán, trung thực, sống trong một gia đình mà mỗi hành vi ứng xử của các cá nhân tràn ngập tính nhân văn, lòng nhân ái, vị tha thì bạn lo gì con cái bạn không trưởng thành. Các cụ dạy “Gần mực thì đen, gần đèn thì rạng” và quy luật nhân quả của muôn đời là “Gieo hạt gì thì gặt vụ mùa đó” là như vậy;
h) Thời gian không chỉ là tiền bạc, thời gian chính là cuộc sống. Một khi bạn đã hành xử không đúng, bạn không chỉ mất tiền bạc mà còn mất luôn cả cuộc sống. Bạn sẽ sống phí hoài những năm tháng quý giá mà tạo hoá đã ban cho. Bạn sẽ sống vật vờ, nhàn nhạt theo bầy đàn, theo bản năng như bao người khác và đương nhiên là bạn sẽ luôn luôn gặp khó khăn về tài chính. Muốn cải thiện tình hình, bạn phải bắt đầu ngay từ ngày hôm nay chứ đừng đợi đến ngày mai.
Bạn có thể nóng ruột nói rằng những kiến thức này ai mà chả biết hoặc giả như nếu bây giờ mới biết thì nó cũng chẳng giúp ích gì. Cái bạn cần biết là những kế hoạch hay những mánh lới, những cơ hội kinh doanh cụ thể để tuần sau, tháng sau bạn đã trở thành chủ doanh nghiệp hay nhà đầu tư chứ không phải là mớ lý thuyết suông này.
Bạn nên nhớ rằng khi bạn bị cận thì bạn làm thế nào đọc được sách nếu bạn không sắm cho mình một cái kính thích hợp. Bạn có thể nhìn thấy vi khuẩn bằng mắt thường không? Chắc chắn là không rồi. Muốn nhìn thấy nó bạn phải sử dụng kính hiển vi có độ phóng đại lớn và có thể phải dùng kính hiển vi điện tử đấy.
Cận thị, vi khuẩn … những thứ này lại càng không liên quan gì đến tiền bạc, bạn bảo thế. Có đấy, chẳng qua là ý tại ngôn ngoại mà thôi. Bạn sẽ không bao giờ giàu khi bạn là (hay bạn có tính cách của) những người làm công lãnh lương hay những người làm tư (giống như bạn bị cận nên không thể đọc sách vì không có kính). Muốn giàu, bạn phải trở thành (hay phải có tố chất, tính cách của) chủ doanh nghiệp hay nhà đầu tư, tức là bạn phải phải khao khát làm giàu, phải có kế hoạch cụ thể thực hiện ước mơ, phải luôn hành động vươn tới, phải độc lập suy nghĩ, phải quyết đoán, phải không ngại rủi ro, mạo hiểm, vv và vv … Bị cận mà muốn đọc sách thì phải mua kính – tức là trang bị cho mình những điều kiện thích hợp với hoàn cảnh mới. Trong việc kiếm sống cũng vậy. Bạn đang có tư duy của những người nhóm L và T, nếu muốn giàu có, bạn phải thay đổi tư duy, thay đổi nhận thức, thay đổi cách hành động theo cách của Nhóm C và Đ. Bạn phải thay đổi bản thân cho thích hợp với mục tiêu trước khi đi tìm những mánh lới, những cơ hội kinh doanh cụ thể. Nếu bạn không thể thay đổi thì dù bạn có học hàng nghìn mánh lới kinh doanh, dù có được hàng nghìn cơ hội đầu tư do được ai đó mách bảo, bạn cũng chớ có tận dụng chúng vì chúng chỉ làm cho bạn khốn khổ hơn mà thôi giống như khi bạn cố gắng đọc sách không có kính với đôi mắt cận thị thì mắt bạn ngày càng tồi đi. Với cái cách đọc liều hay thiếu hiểu biết như vậy thì có thể đến một ngày nào đó bạn sẽ chẳng còn “Giàu hai con mắt” như các cụ vẫn dạy.

theo My Opera

Công thức của nhà triệu phú

Cứ 60 giây, một người nào đó trên thế giới trở thành nhà triệu phú.
Đúng thôi. Một nhà triệu phú mới được tạo ra từng phút từng ngày. Đúng là có hàng triệu nhà triệu phú.
Một số những nhà triệu phú này đã mất 60 năm để tích lũy sự giàu có. Một số khác mất chưa tới một năm. Một số chưa đến 90 ngày. Và một số chưa tới một phút. Trong quyển sách này, chúng tôi sẽ cho bạn thấy một quá trình theo từng bước để không chỉ trở thành một nhà triệu phú, mà còn là một nhà triệu phú tiến bộ – dù bạn mất 60 năm hay 60 giây.
Phần đông các nhà triệu phú chia sẻ cùng những đặc điểm nào đó với nhau. Bạn phải thực hành những kĩ thuật và chiến lược nhà triệu phú. Bạn phải làm theo bộ óc nhà triệu phú – một bộ óc có thái độ và niềm tin tạo ra của cải rất riêng biệt.
Sau nhiều năm nghiên cứu chính bản thân mình và cùng với các sinh viên của mình, chúng tôi đã đúc kết phương pháp của chúng tôi thành một quá trình gồm ba giai đoạn mà chúng tôi gọi là Công thức Nhà triệu phú:
Giấc mơ + Nhóm + Chủ đề = Nhà triệu phú
1. Giấc mơ: Xây dựng bộ óc nhà triệu phú – tự tin và đam mê cháy bỏng.
2. Nhóm: Thu hút những nhà cố vấn dày dạn kinh nghiệm và những cộng sự giỏi để giúp biến giấc mơ của bạn thành hiện thực.
3. Chủ đề: Lựa chọn và áp dụng một hoặc nhiều mô hình nhà triệu phú cơ bản để kiếm tiền nhanh chóng.
Từng bước trong quyển sách này được biên soạn nhằm giúp bạn tập trung vào ba giai đoạn quan trọng trong quá trình làm giàu. Chúng tạo nên sự kết nối để bạn vươn đến sự thành công tài chính.

Nguồn : giaunhanh.com